Ash and his friends arrive at Violet City, where Ash hopes to earn his first Johto League Badge at the local Gym. While wandering through the city, Pikachu stops to smell some flowers, only to be attacked by two schoolchildren that want to play with him. He threatens to shock them, prompting Ash to snatch Pikachu from the kids, only to be zapped by Pikachu's Thunderbolt. The two kids explain that they thought he was a wild Pikachu, but their explanation is cut short when a woman runs outside, telling the children they should be in class.
The woman, Miss Priscilla, explains that the two kids are her students at the Pokémon academy, and she teaches them all about Pokémon training so they could grow up and become Trainers. Brock volunteers the group to show the children some of their Pokémon, which the students are exuberant about. Ash tells them how he made the top sixteen in the Indigo Plateau Conference, but one boy, Zackie, asks why they should listen to him if he wasn't the winner. Misty then suggests that they go outside so they can show the kids their Pokémon. Later, Miss Priscilla tells Ash and his friends about the Sprout Tower and how its main support beam sways back and forth like a Bellsprout. She then invites them on a class field trip to the tower. Brock agrees for Ash and Misty.
While Miss Priscilla is talking to Ash, Zackie asks Pikachu to be his Pokémon and to forget Ash. Pikachu declines, but the boy says if he doesn't want to be his Pokémon, then he'll just take Pikachu, and pounces on him, but Pikachu gives him a little shock and he backs off. Ash runs over and asks the boy what he can do, but Zackie screams at him to give him the Pikachu. After Ash refuses, Zackie steals one of Ash's Poké Balls and tries to catch Pikachu with it. Since Pikachu is scared of Poké Balls, he runs away, and Zackie runs after him. Ash tells Miss Priscilla that once he finds Zackie, he'll take him to the Sprout Tower to meet up with everyone else. Ash recalls his Pokémon and runs after Zackie.
Zackie spots Pikachu's ears sticking out of a bush and throws the Poké Ball behind the bush. Pikachu runs away, but the Poké Ball makes a successful capture. Zackie celebrates when Ash tackles him, but they fall down one of Team Rocket's traps. Team Rocket thanks Zackie for catching Pikachu, and says if he hands him to them, they'll get him out, but Zackie refuses. Ash suggests he take Pikachu back to handle Team Rocket. Zackie says he wants to do it, and sends out Pikachu to use Thunderbolt, only realize that he instead caught a wild Bellsprout. Team Rocket then uses an amplifier to alter their voice so it could sound like Ash's, and they call out for Pikachu's help. Pikachu comes out of hiding, and Team Rocket tries to net Pikachu, but the real Ash calls out to Pikachu and tells him to move. Pikachu evades the attack, and Ash uses the net to climb out of the hole. Ash tells Pikachu to use Thunderbolt on Team Rocket, which sends them blasting off.
Bellsprout tries to befriend Zackie, but he is initially not interested. Back at the Sprout Tower, Team Rocket crash-lands into the tower. They devise a plan to get Pikachu by getting Miss Priscilla's class out of the main room, so James uses his Weezing's Smokescreen to replicate a fire. Falling for it, Miss Priscilla orders her class to evacuate the building immediately. Once Ash is at the Sprout Tower, he sees the fire and sends out Squirtle to use Water Gun; Misty sends out Poliwag to do the same. Brock notes that the water isn't helping, so Misty recalls Poliwag. Team Rocket then appears on the balcony and tells Ash to come inside and see what is being done.
Inside, Lickitung, Weezing, and Arbok are sawing away at the support beam and have strapped a rocket to it. Jessie says that unless Ash hands over Pikachu, they'll send the tower into orbit as soon as the support beam is cut. Ash refuses, but Pikachu willingly hands himself over. They tie up Pikachu, and Ash tries to send out another Pokémon, but Meowth says he shouldn't try anything or else he'll blow the place up. Suddenly, Zackie orders Bellsprout to use Razor Leaf, which flings the rocket remote out of Meowth's paws. Bellsprout then uses Razor Leaf against Lickitung, stopping it from sawing at the support beam. Jessie and James recall their Pokémon and grab onto the rocket to escape. Ash's Bulbasaur and Zackie's Bellsprout both use Razor Leaf to free Pikachu from the rope before Team Rocket escapes with him; the leaves eventually cut the ropes that strap the rocket to the support beam. The rocket, with nothing to control it, suddenly blasts off with Team Rocket in tow.
Ash bids farewell to the students of the Pokémon academy, and Zackie wishes Ash luck in the Johto League. Zackie says that he'll battle with Ash when his Bellsprout evolves into a Weepinbell and then eventually a Victreebel.