Brock has prepared a delicious stew for lunch, so everyone calls out their Pokémon. Upon their release, Taillow, Torchic, and Forretress are surprised to see Ash's newly caught Treecko. Nervous about the attention it is receiving, Treecko quickly climbs a tree and refuses to come down. It plucks a twig from the tree before settling itself on a branch. The group eventually returns to their food, as do their Pokémon. From its perch, Treecko spots a Seviper in the bushes. Meanwhile, Torchic is overexcited and rushes around with an apple on its head and a bunch of grapes in its mouth. Seviper trips Torchic up using its tail, causing Torchic to drop the grapes and the apple. Torchic runs off after the apple before noticing the serpentine Pokémon standing in front of it. Seviper promptly eats the apple and Torchic gets angry. Seviper opens its jaws wide as it prepares to attack Torchic, but Treecko spits out its twig to get Seviper’s attention. Treecko leaps down from its perch in an attempt to save Torchic. However, Seviper slithers its way over to Torchic and begins bouncing it on its tail.
Torchic's shrill cry alerts May and the others to the squabble. Ash opens up his Pokédex, which alerts him to Seviper’s angry disposition. As the others call on their Pokémon to help, Seviper uses its Haze attack so that they can't see what it's doing. As the others struggle to see, Treecko spots a gap overhead, so it climbs back up into the tree again. From its new vantage point, Treecko spots Seviper attempting to take Torchic. It promptly jumps down and strikes Seviper's head with its tail, causing the Fang Snake to lose its grip on Torchic. Treecko picks Torchic up and delivers it straight to May’s waiting arms. However, Seviper returns with a vengeance. It batters Treecko into a tree trunk with a powerful Poison Tail. As Seviper is about to bite Treecko, Ash commands Taillow and Pikachu to use Wing Attack and Thunderbolt respectively, while Brock's Forretress uses Spikes. The triple attack combination forces Seviper to flee. Yet Treecko appears to be in bad shape, as it holds its shoulder in agony. Ash and his friends rush Treecko to the nearest Pokémon Center, where Nurse Joy treats it.
Meanwhile, Team Rocket has been watching Seviper almost effortlessly dispatch the twerps' Pokémon, so they decide they want to catch it. They see that it likes fruit, so they lure it with a basket of fruit left on the other side of a pitfall trap. However, Seviper just picks up the basket with its tail, stretches over the pit, and slithers away. Team Rocket is left red-faced, and in their anger, they stand directly over their own trap, which soon gives way. However, they don't let it discourage them. The trio put another plan into action, but their net doesn't work either as Seviper just bites through it.
The Rocket trio breaks for lunch, during which they fight over the last rice ball. When they accidentally send it flying into the nearby brook, James and Meowth freak out, but Jessie calmly reveals a rice ball she'd kept hidden, angering her partners. However, Seviper sneaks up on her and swipes the rice ball just seconds before she chomps down on it. Jessie is infuriated, and Seviper’s poking tongue only angers her more. James and Meowth remind Jessie that now is her chance, so she sends out Wobbuffet to teach Seviper a lesson. The two opponents engage in an intense stare-off. James soon points out that Wobbuffet needs an oncoming attack to make any move, and a frustrated Jessie recalls Wobbuffet, grumbling that he's never useful when necessary. Jessie hurls Meowth at Seviper, commanding a Double-Edge attack. As he soars toward Seviper, Meowth screams that he doesn't know that attack just before the Fang Snake Pokémon smacks him across the face with its tail, sending him flying backward into his comrades. As all three hit the ground, another rice ball is knocked out of Jessie's pocket and rolls towards Seviper. James and Meowth are surprised by this revelation as Jessie chases after her snack, though she fails to get it back. To the trio's horror, Jessie's hair gets caught in Seviper's jaws in the process and a large chunk of her locks gets bitten off. Enraged, Jessie proceeds to give Seviper a merciless beating with her own renditions of "Fury Swipes" and "Mega Kick". James and Meowth are left terrified by the outburst and grip onto each other as the scene unfolds. The ferocious onslaught knocks Seviper out cold, and Jessie, still seething with anger even though she has calmed down a bit, seizes it by the neck. Fortunately for Seviper, James and Meowth quickly remind Jessie that she is supposed to catch it. This calms Jessie down, and, as James and Meowth sigh with relief, she tosses a Poké Ball at Seviper, catching it at last.
At the Pokémon Center, Brock informs May that the resident Nurse Joy is in fact the younger sister of the second cousin of the first cousin of the Nurse Joy in Oldale Town. However, the convoluted family connection leaves everyone baffled. Chansey rushes in and indicates that Treecko ran away from the Center. Ash and his friends rush outside and begin calling for it. Max soon notices some discarded bandages on the ground, and the evidence leads Ash and his friends to a nearby waterfall. The group spots Treecko leaping from atop the waterfall and aiming to hit a rock. Max notes it looks like Treecko is training, trying to break the rock with its tail. Brock affirms this and explains that Treecko is probably disappointed about its earlier loss to Seviper. After a few more jumps, Treecko changes its technique. It spins to increase its power before striking the rock with its tail, finally breaking it, much to the amazement of the group. Ash congratulates Treecko and runs out with Pikachu to meet it, but Pikachu gets captured by Team Rocket’s grabber hand.
The Rocket trio recites their motto, and the delay allows Meowth to trap Pikachu inside an electricity-absorbing cage. Ash, enraged, sends out his Taillow. James orders out Cacnea, but the Pokémon gives him a spiny hug before launching a Pin Missile. However, Taillow flies through the attack with ease. Jessie sends out her new partner, Seviper, and the group is surprised to see that it's the same one they had faced before. Treecko steps forward. Ash halts its advance, reminding Treecko that it isn’t alone and has friends it can now rely on. Treecko replies with an affirming grin before returning its attention to Seviper. Seviper prepares to lash Treecko with a Poison Tail. Though Treecko evades using Quick Attack before delivering a Pound attack to the face. Seviper attempts another Poison Tail, but Treecko leaps into the air and strikes back with its new spinning maneuvers. The blow sends Seviper flying into Team Rocket and Pikachu's containment chamber rolls away. Pikachu emerges and happily leaps into Ash's arms. Treecko declares that it has now had its revenge, having defeated Seviper, and says Pikachu can finish things off. Ash orders Pikachu to use Thunder, and the attack sends Team Rocket blasting off. Ash thanks Treecko for battling for him and finds he's won Treecko's trust when Treecko holds out its tail. Ash and Pikachu shake hands with Treecko's tail, laughing happily.