Ash, Misty, and Brock are on the road to Ecruteak City when they overhear a Pokémon battle nearby. Curious, they go to get a closer look and are surprised to see Ash's rival Gary battling another Trainer. The Trainer calls out an Alakazam, which causes Gary to bring out his Umbreon. Checking his Pokédex, Ash realizes that this Umbreon is the evolved form of the Eevee that Gary used to defeat him back in Pallet Town.
Alakazam starts things off by launching a massive Zap Cannon attack toward Umbreon but misses when it leaps into the air in the nick of time. Alakazam then tries Psychic, but Umbreon is unaffected as it is a Dark-type Pokémon, which are unaffected by Psychic attacks. Using its Headbutt next, Alakazam charges at its opponent with alarming speed. However, Umbreon dodges and takes advantage of the situation by tackling Alakazam. But it recovers from the blow and retaliates with Dynamic Punch, which Umbreon easily evades. Alakazam then pulls off a Double Team and sends all clones to strike at once. Gary commands Umbreon to stay calm to sense the real Alakazam, which it does. Just as Umbreon is about to connect with a Quick Attack, Alakazam uses Teleport. As Umbreon searches for the whereabouts of its opponent, the other Trainer tells Alakazam to end the battle with Hyper Beam. Gary notices the strange light coming from his left and warns Umbreon to dodge the attack. It jumps up at the last minute and finishes Alakazam off using Hidden Power. After Gary wins his battle, Ash challenges Gary to a match but Gary declines, reminding Ash of how Umbreon defeated Pikachu before as an Eevee. Ash tells Gary he doesn't have to use Pikachu to battle Umbreon, and sends out Chikorita, Cyndaquil, Totodile, and Noctowl. However Ash's attempts to impress his rival backfire as Chikorita goes straight to Ash for attention, Cyndaquil wanders about aimlessly, Totodile starts dancing around wildly, and Noctowl starts to sleep. Ash starts to despair, but by now Gary has walked off. Naturally, Ash isn't happy about the brush off and vows to beat Gary and Umbreon the next time they meet.
Meanwhile Jessie, James, and Meowth try to come up with their next scheme. Wobbuffet begins to bother Meowth, who responds with his signature Fury Swipes attack. When Wobbuffet uses his Counter to reflect the attack back on Meowth, Jessie suddenly gets an idea.
In a nearby town, Ash tries to ignore Misty and Brock as they talk about Gary's Umbreon. Wanting to bolster his strength in case he meets Gary again, Ash starts stuffing his face with hamburgers the moment they arrive at a Pokémon Center. Brock tries to tell him that it could be weeks before they meet Gary again, but Ash refuses to heed his advice. Without warning, the lights in the Center go out. Nurse Joy comes in and says that the entire town has suffered a blackout and that without electricity the intensive care unit in the Pokémon Center can't function. Eager to impress Nurse Joy, Brock volunteers to go to the town's hydroelectric power plant and see what the problem is. Ash and Misty decide to go along as well. On their way to the plant, they pass by Gary's campsite, who decides to follow them with Umbreon.
At the power plant, they find all of the plant employees tied up, and realize that Team Rocket is responsible for the blackout, having diverted the energy from the plant into their new Robo-Mecha Wobbuffet with a gigantic power cable. Like a real Wobbuffet, the robot has the ability to counter attacks and easily reflects every attack Ash and his friends try to throw at it. Realizing they can't beat it, Ash and company beat a hasty retreat into the woods, with Robo-Mecha Wobbuffet right behind them. However, just when everything seems lost, the Robo-Mecha Wobbuffet suddenly stops, having used up the full length of its power cord. Arriving on the scene, Gary takes advantage of the robot's weakness and orders Umbreon to sever the power cable, stopping the robot dead in its tracks. With Team Rocket unable to do anything, the four Trainers rush back to the power plant and quickly release the imprisoned workers. The workers say that with the damage Team Rocket caused, the only way to restore the town's power is to activate the backup generator located nearby.
On their way to the generator, Ash and his friends are once again interrupted by Robo-Mecha Wobbuffet, which has become fully mobile thanks to James' and Meowth's bicycle power. Under Jessie's control, the robot begins to fight against Ash's Pokémon but quickly stops again when an exhausted James and Meowth lose their energy to pedal. Ash orders Pikachu to use his Thunderbolt, but finds that the attack only recharges the robot. With a new supply of energy, the robot resumes its attack with even greater force. Watching its counter attack in action, Ash suddenly gets an idea. He orders Cyndaquil to use Flamethrower, which is quickly sucked into the robot's stomach. Before it can release the attack he orders Chikorita to use Vine Whip and hold the robot's counter mechanism shut. This causes the counter to be released inside the robot, blowing it to pieces and causing Team Rocket to blast off again.
With the robot out of the way Ash and Gary reach the backup generator and combine their Pokémon's powers to get it running again. When they realize the backup generator isn't giving off enough power, Pikachu uses his Thunder Shock to get it up to peak capacity. Impressed, Gary tells Ash that he's gotten a lot stronger since their last encounter, and says that next time they meet it might be him that challenges Ash to a battle. Surprised at having won his rival's respect, Ash says that he looks forward to that day and the two part ways.
The next day, after saying goodbye to Nurse Joy. Ash and his friends continue on their journey.