Ash, Misty, and Tracey encounter a large ship that nearly hits them while riding Lapras. The ship's captain checks on them for any injuries, and then introduces himself as Tad. He quickly recognizes Ash from the Trovita Gym.
Aboard the boat, Tad explains that he is trying to get into the "Pokémon League". He states that he battled Rudy after Ash did, and overheard Rudy commend Ash for using pure power to win. After Misty comments that Ash does not have any skill, Tad challenges Ash to a battle, claiming that he likes to challenge people who know what to do. Misty, however, jokes about this by pretending not to see Ash while Tad describes him. They then set a course toward Cleopatra Island, which they presume to be deserted. However, Team Rocket is already on the island, doing some repairs to one of their machines. Meowth spots Ash and his friends approaching the island through his binoculars, he then alerts Jessie and James, who hope to steal Pikachu.
After the group reaches Cleopatra Island, the battle begins. Ash selects Pikachu for the match, while Tad chooses his Poliwrath, which is wearing the golden championship belt that it won from Tad's hometown for being the most powerful Pokémon there. Misty is puzzled by the choice, given that Poliwrath has the type disadvantage. Tracey urges Ash to watch out for any tricks, but Ash is nonetheless confident. He orders Pikachu to use Thunderbolt, but Poliwrath immediately uses Double Team to evade the attack and surround Pikachu. At Ash's command, Pikachu then uses Quick Attack to get rid of the illusory Poliwrath. Pikachu finds the real Poliwrath and uses his tail to shock it, but his opponent is unfazed by the Electric attack. Poliwrath quickly uses Hypnosis, followed by Water Gun to defeat Pikachu. Tracey explains that Tad let Pikachu use his energy up so that when Poliwrath used its own power, it could easily defeat Pikachu. Tad admits that there is more to battling than type match-ups and that he likes to use the element of surprise.
Ash, unfazed by Pikachu's defeat, tries to match power with power and calls out Charizard, much to the horror of Misty and Tracey. Ash comments that he can handle Charizard, just as it burns him with Flamethrower. Tad notices this and asks Ash if he is sure about the choice. Ash says he is, just as Charizard flies off on its own. Tad recognizes Charizard's power, but states that Ash will never get into the Orange League with a disobedient Pokémon. At Tad's request, Poliwrath launches a Water Gun at Charizard, which instantly calls the Pokémon back to the beach. As Ash urges his Pokémon to work with him, Charizard knocks him to the ground and attempts to hit him with its tail. Charizard continues to ignore Ash, it then flies into the air and attempts to hit Poliwrath with Flamethrower. The two opponents exchange several Water Gun and Flamethrower attacks. The match comes to an abrupt end when Poliwrath unleashes a powerful Ice Beam, which freezes Charizard, except for its flaming tail. Charizard plummets to the sand, and Ash desperately tries to free his Pokémon from the ice with a rock. Tad recalls Poliwrath but promises Ash a rematch once he learns how to handle Charizard. He leaves with Charizard freezing and Ash seething from the defeat. Perched on the sea cliffs, Team Rocket watches the match and sees Ash's defeat as their next opportunity to snatch Pikachu.
Later that night, Ash has set up a burning fire to assist Charizard's recovery and then rubs its hide. Charizard eventually wakes up and begins to thrash around in panic just as Misty and Tracey return with some firewood. Charizard tries to launch a Flamethrower at Ash, but faints once again. Misty puts a blanket over Charizard's body as she and Ash continue to rub Charizard's back. Tracey checks its temperature and notes Charizard is still cold, so he decides to fetch more wood for the fire. Ash's efforts seem to be paying off, as Charizard wakes up again and its tail flame begins to burn more. As Ash continues to massage Charizard, he admits that he is not the best Trainer. He then asserts that he is always trying to get better and hopes that one day the two will battle side by side. Charizard secretly listens to Ash's words and reminisces about its time with Ash.
In the morning, Charizard wakes up the group, and they realize it has fully recovered. However, Team Rocket strikes, and they trap Pikachu inside their giant, shockproof drill machine with an explosion. Tad also notices the dust and rejoins the group, just as Team Rocket says their motto. Team Rocket then makes their getaway by digging a tunnel. Just as Ash tries to pursue them, Charizard flies beside him and urges Ash to get on its back. The pair flies into the tunnel after Pikachu, whereupon Charizard uses its feet to grab the machine before it can go deeper, and pulls it back up the hill. Charizard attempts to burn the drill but Ash stops him to prevent him from injuring Pikachu. At Ash's request, Charizard crushes the drill with his foot and bites down to destroy the box containing Pikachu.
Pikachu is returned to Ash, but Team Rocket is not done yet. Meowth presses a button, and two circular saws attempt to cut Ash, Pikachu, and Charizard. Charizard manages to avoid the blades, but lands on its back, leaving Ash and Pikachu knocked out on the beach. Seeing Ash unconscious, Charizard's eyes gleam white and its tail flame grows to enormous proportion. Just as Ash checks his Pokédex for more details, a swirling fireball emerges in Charizard's mouth. To Ash's surprise, Charizard has learned Dragon Rage; the attack destroys Team Rocket's machine and sends them blasting off once again.
Tad, Misty, and Tracey find Ash and his Pokémon, and Tracey realizes that Charizard and Ash are on better terms. With the Flame Pokémon now under control and as promised, Tad challenges Ash to a rematch, which he accepts. Tad sends out Poliwrath and makes the first move, Water Gun. Ash orders Charizard to fly, and the Pokémon complies to evade the attack. Charizard's Ember attack is reduced to steam by Poliwrath's twirling Water Gun. Ash replies with Take Down. Poliwrath goes in for a Mega Kick, but Charizard catches its opponent's foot. Charizard flies into the air and avoids a close-range Ice Beam. Poliwrath attempts a Body Slam, but Charizard swoops in and sends it into the air. Charizard grabs hold of its opponent and performs Seismic Toss, taking Tad by surprise. Poliwrath is knocked out after it hits the ground. In celebration, Charizard lets out a mighty roar and Ash hugs his Pokémon. Tad rushes over to Ash, and the two Trainers exchange a handshake.
The group waves goodbye to Tad as he leaves the island on his ship. Ash jumps into the air, claiming that nobody will be able to beat him, but he accidentally knocks Charizard off balance while it is scratching itself with its leg. Getting angry, Charizard unleashes a Flamethrower, causing Ash, Misty, and Tracey to flee. Misty and Tracey tell Ash to not to get Charizard angry; he confidently says that he can take the heat.