As Ash and his friends walk to the Azalea Gym, Misty, posing as a reporter and using her canteen as a microphone, stops and asks Ash how the battle will go. When Ash declares that he will be victorious, Misty points out that it may be a hard match without Charizard on his team. Ash retorts that he still has Cyndaquil.
The group soon enters the Gym, which resembles a forest garden. Misty becomes immediately anxious and soon enough her worst fears are confirmed as a Caterpie dangles in front of her face. She freaks out and runs away only to come face to face with a horde of Metapod. Misty runs again, crouching down to catch her breath before declaring that the Gym is more like a torture chamber. Her criticism is overheard by a boy sitting in a tree. He declares that his favorite type of Pokémon are Bugs and calls Misty ignorant. His comments irritate Misty. The boy asks who Ash and his friends are and Ash announces that he wishes to challenge the Azalea Gym Leader. The boy reveals that he is Bugsy, the Gym Leader, and a Bug-type specialist. Bugsy accepts Ash's challenge, and then asks Ash to help him out of the tree. Ash sets the ladder up and Bugsy climbs down before declaring that he accidentally knocked it because of Ash and his friends' unexpected arrival.
Meanwhile, outside the Gym, Team Rocket is planning on stealing Pikachu. They disguise themselves as plants; Jessie as a flower, James as a tree and Meowth as a bit of grass. James's Victreebel lets out a shrill cry alerting the Bug Pokémon to their presence, and soon enough the Pokémon use String Shot to tie them up.
Ash arrives at the battlefield, which appears flat and surrounded by trees. The Battle judge announces the battle's conditions; each Trainer may use up to three Pokémon each. Before the match starts, Bugsy tells Ash a saying about Bug Pokémon, but this only confuses Ash. Misty and Brock watch from the sidelines, noting that Bugsy is truly Bug obsessed. Bugsy then starts the match and sends out his Spinarak, while Ash sends out Cyndaquil with the obvious type advantage. Ash hopes to use Cyndaquil's fire attacks, but it still appears tired and has no flame on it back. Bugsy has Spinarak use String Shot to cover the field, ensnaring Cyndaquil in the sticky thread. Ash orders Cyndaquil to attack with Flamethrower, but feeble smoke comes out instead. Spinarak attacks with Poison Sting, landing a direct hit on Cyndaquil. Ash then decides to recall Cyndaquil to its Poké Ball before another Poison Sting hits.
Ash is aware of the type disadvantage but sends out Chikorita anyway. Chikorita appears from its Poké Ball, giving Ash a hug. Bugsy questions Ash's decision to use the Grass-type, but Ash retorts that his choices are based on instinct. Misty and Brock remain skeptical, though they are also aware of Ash’s unconventional strategies. The battle resumes, and Spinarak makes the first move, a Sting Shot attack. Chikorita manages to dodge it and replies with a Vine Whip. Spinarak, however, uses its threads to evade the attack and reach a nearby tree. Spinarak then swings from tree to tree using it String Shot. Ash orders Chikorita to focus in and use Vine Whip, though Spinarak continues to dodge. Spinarak uses Poison Sting, but Ash has Chikorita counter the attack with Razor Leaf. Chikorita then catches Spinarak off guard with her Sweet Scent and follows up with a Tackle, winning Ash the round. Bugsy is surprised, while Chikorita is overjoyed with her victory and hugs Ash as a result. Meanwhile, Team Rocket continue plotting and they settle on digging a pitfall trap to capture Pikachu.
Bugsy then sends out Metapod much to Ash's surprise. Misty and Brock urge Ash to be cautious and note that Metapod must be strong otherwise Bugsy wouldn't use it in a Gym battle. Ash reassures them that he will be fine and then has Chikorita use Vine Whip. Metapod uses Harden to increase its defenses and blocks the attack. Chikorita tries a Razor Leaf, but no avail with another Harden. Bugsy tells his Metapod to jump and use Tackle, surprising Ash and knocking out Chikorita.
With Pikachu's nod of approval, Ash sends him out on to the field. Metapod uses Tackle and Pikachu avoids it which causes the Tackle to stir up a cloud of dust. Pikachu avoids another Tackle from Metapod, causing it to land into a tree. The resulting falling leaves allows Metapod to camouflage itself and seemingly vanished. Pikachu listens for Metapod and he dodges its Tackle. Metapod jumps and uses Tackle again, which Pikachu avoids by using Agility. Pikachu then latches onto Metapod's back and delivers the finishing blow, a close range Thunderbolt. Bugsy recalls Metapod to its Poké Ball and thanks it for its efforts.
Before Bugsy sends out his third and final Pokémon, he informs Ash that no Trainer has reached the last round in a while. Bugsy then sends out his Scyther. Ash has Pikachu use Agility, though Scyther remains standing on the spot. Underground, Meowth uses a stethoscope and reports to his teammates that Pikachu appears to have stopped moving. The trio then recites their motto to a bongo beat before breaking the surface with their shovel. James pokes his head out of the hole and is faced with Scyther's leg. Pikachu unleashes a Thunderbolt and Scyther dodges it using a Double Team, but Team Rocket are accidentally struck by the attack instead. Bugsy then tells Scyther to use Slash. Pikachu unleashes a Thunderbolt to blast Scyther's Double Team, but they all disappear much to Pikachu's surprise. The real Scyther then appears behind Pikachu and knocks him out after an onslaught of Fury Cutter attacks.
Ash is now forced to send out Cyndaquil, who looks tired from its battle with Spinarak. Scyther uses Fury Cutter while Cyndaquil dodges and its back now bursts with blaring flames. Scyther tries Double Team while it uses another Fury Cutter, this time faster than the other Fury Cutter, while Cyndaquil is still able to dodge. This gets Cyndaquil really fired up and Cyndaquil uses Flamethrower, which got rid of Scyther's Double Team, but the real Scyther deflects it by using Swords Dance and hits Cyndaquil. Bugsy explains that he developed strategies like Scyther's Sword Dance to combat its weaknesses. Ash considers his next move before the battle resumes. Scyther approaches with another Fury Cutter, but as soon as Ash commands Cyndaquil to use Flamethrower he has Scyther perform Sword Dance. Ash replies with his strategy, he has Cyndaquil jump into the air and go into a spin above Scyther. Cyndaquil then unleashes a powerful Flamethrower which engulfs Scyther. The damage stops Scyther's Sword Dance and Cyndaquil then Tackles its opponent to the ground. The referee says Scyther is unable to battle and declares Ash victorious. Bugsy congratulates Ash on overcoming his strategies and gives him the Hive Badge to commemorate the win. Ash poses with his second Johto League Badge overall. Bugsy then asks Ash for a rematch if he returns to Azalea Town, and Ash gladly accepts the challenge. The pair shake hands before Ash and his friends leave to continue their journey.
When Ash, Misty, and Brock are about to leave Azalea Town, Maizie runs towards them with three Apricorn Poké Balls: two Lure Balls and a Heavy Ball made by her grandfather from the Apricorns they picked earlier. Ash and Misty decide to take a Lure Ball each, while Brock settles for the Heavy Ball. Maizie thanks Ash and his friends for delivering the GS Ball to Kurt, who will continue to investigate it, before waving goodbye to the group. Overnight, Team Rocket peer from their hole to see if anyone is around, but they find themselves surrounded by the Azalea Gym's angry Bug Pokémon.