After capturing the Red Gyarados, Tyson and his cohorts travel back to Mahogany Town to continue their studies on the Red Gyarados, so they can perfect their Evolution Inducement Ray. Lance, disguised as a Team Rocket Grunt, stops following the others and makes a call to Officer Jenny in Mahogany Town to inform her of Team Rocket's hideout. After the call ends, Lance heads back to the Lake of Rage.
After being captured by Tyson, Ash yells to be let out of the cell, and Jessie and James say that they're in charge of guarding the door. Finally, Pikachu and Togepi wake up, but when Ash asks if Pikachu could break down the cell with a Thunder Shock, Ash finds that he's still too weak to do any damage. With Pikachu now awake, Jessie and James say that they are now going to take him to the boss. Ash and his friends hold their ground, but Jessie sends out Arbok with a Poison Sting to break them up. Jessie tries to unlock Pikachu's restraint, but the remote accidentally unlocks all of their restraints, allowing Ash to send out Cyndaquil with a Smokescreen. After the smoke clears, Jessie, James, Arbok, and Wobbuffet find that they have been put into the restraints. They struggle free, and Meowth recovers in time to join in the pursuit of the twerps. Arbok uses a Poison Sting to stop the group. Jessie orders Arbok to Wrap them, but Arbok is blown away by Lance's Dragonite's Thunder Wave. Arbok tries to use Acid, but Dragonite's Twister sends the Team Rocket trio blasting off.
Lance is glad to see Ash and his friends again. While they defied his orders, Lance admits that he shares their concerns for the Red Gyarados. He tells the group that the Evolution Inducement Ray has to be destroyed, and Dragonite's Hyper Beam does the trick. Immediately afterward, Lance and the others get in the car and drive towards Mahogany Town.
Team Rocket has arrived at their meeting point, and two helicopters soon take off. Professor Sebastian leaves in the second escort flight, leaving Tyson in charge. Tyson suddenly receives a call from Jessie and James telling him that the machine had been destroyed. Jessie and James order a 50-man backup, but Tyson hangs up on them. While transporting the Gyarados via helicopter, the effects of the Evolution Inducement Ray wears off on the Gyarados, causing it to thrash around. Tyson orders his pilot to control the helicopter. However, the Red Gyarados' struggle eventually causes the two Rocket helicopters to crash into the river below. Gyarados emerges free of its net and goes into a rampage. The Gyarados swims away, and while driving beside the water, Ash spots it. Ash gets out to possibly calm the Gyarados, but Gyarados shoots a Hydro Pump at him. Lance stops the vehicle, and he rushes over to Ash’s side to confront the Gyarados himself. Tyson soon pulls up. He orders his men ahead while he challenges Lance to a battle. Ash and his friends run after the Gyarados, leaving Lance to confront Tyson. Lance's Dragonite soon defeats Tyson's two Fearow with a Twister attack. The police arrive on the scene and Officer Jenny places Tyson under arrest for violating conservation laws.
Meanwhile, Team Rocket again captures Gyarados with a net and shocks it into submission. They pull it out of the river, but Ash has Bayleef use Razor Leaf to cut the net. A grunt tries to catch the kids with a net, but Gyarados's Hyper Beam blows the grunts away. Gyarados soon collapses from its injuries. Ash urges Gyarados to go back to the river, but Jessie and James show up in the Meowth balloon and catch Gyarados with another net. Ash jumps and grabs onto the net to save the Gyarados, but Meowth tries to shake him off unsuccessfully. Gyarados thrashes again and breaks the net free from the balloon. Gyarados continues down the river, but Team Rocket says they will catch Pikachu anyway. However, Pikachu easily defeats Arbok and sends Team Rocket blasting off with a Thunderbolt.
The group rushes onto a bridge as Gyarados continues its rampage towards Mahogany Town. Ash tries to talk the Gyarados into becoming calm, but Gyarados attacks them with Hyper Beam. An old man appears and orders his Dewgong to use Ice Beam, which not only stops the Hyper Beam before it can hit, but also freezes the river, stopping Gyarados from traveling any further. He tells them that Pokémon and humans are not meant to be friends, and it's putting them in danger. Ash and his friends soon leave as the Gyarados turns away to continue its outrage in the opposite direction.
Down the river, Lance's Dragonite is trying to fight the Red Gyarados. The two Pokémon exchange a barrage of attacks. Ash and his friends urge Lance to stop the battle, but Lance insists that battling is the only way to calm Gyarados's anger. Dragonite manages to paralyze Gyarados with a Thunder Wave. A follow-up Twister causes Gyarados to hit the water. The Red Gyarados rises again, and as it prepares to fire a Hyper Beam, Dragonite’s own Hyper Beam hits first. Gyarados soon faints, and Lance captures it with a Poké Ball.
By sunset, Officer Jenny salutes Lance for his efforts. She soon leaves to continue her investigation into Team Rocket's activities. Lance thanks the group, and assures Ash that he will look after the Red Gyarados and treat it as a friend. Ash is instantly cheered up. Afterwards, Lance flies off on his Dragonite and says goodbye to Ash and his friends.