Ash's Battle Factory victory has him eager to reach the next Battle Frontier stop right away, but even he has to stop for food and water. Munchlax takes care of the Pokémon food by eating it all, which sets off a squabble that disturbs the local Geodude. The Geodude chase Ash and May's Pokémon, and some of them are separated in the commotion. Ash and May have to find their missing Pokémon!
An Onix leads the Rock-type Pokémon that live in the area, and they're none too happy about the intruders. Team Rocket sees this and convinces Onix that Ash and his friends are up to no good. Phanpy and Squirtle reunite with Pikachu, Corphish, and then Munchlax, but they're captured by Rock Pokémon working with Team Rocket. Elsewhere, Brock is captured as well!
Ash finds Onix and Team Rocket, but now all his friends and their Pokémon have been snagged! Ash tries to tell Onix that he's not a villain, and Onix decides that they'll battle. If Ash wins, his friends go free. If Ash loses... well, he'd better win! Ash choses Grovyle, who has a type advantage against Onix, and wins the round.
Team Rocket tries plan B: steal all the Pokémon outright. But Ash tells Grovyle to defend Onix against their attack, and it's clear now who the good guys are. May and the others are freed, and together everyone protects the wild Pokémon from Team Rocket. Once the villains are sent flying, Onix makes amends by giving our heroes an escorted ride out of its valley.