Ash decides to head to Petalburg City for his next Gym battle. On the road, the gang runs into a group of Spinda. A pretty girl named Claire approaches, and Brock's reaction to her scares all the Spinda away. She is looking for her lucky Spinda, which has a heart-shaped mark on its face. Ash and friends offer to help her.
Team Rocket tries to steal the Spinda using a vacuum, but the lucky Spinda fights back using Hypnosis and all of the Spinda escape. They also try disguising a Teddiursa (and later Meowth) as a Spinda to lure the real Spinda in, but fail.
The kids track the lucky Spinda down to a flower garden, where they are met by the Spinda's owner—Claire's fiancée, Kain. Brock's heart is broken.
Team Rocket shows up in a giant Spinda robot capable of repelling all the attacks of the Spinda. Brock sends out all of his Pokémon, and his Forretress destroys the robot using Explosion.
Ash and friends wish Claire and Cain the best, and depart for Petalburg.
Fresh off his victory at the Lavaridge Gym, Ash and his friends try to decide where to go next. Brock suggests heading towards Fortree City, but after noticing that the road there leads through a desert, he suggests a detour back towards Mauville City. May and Max remember that Mauville City is just a short distance away from their hometown Petalburg City, and suggest stopping by for a visit. Ash agrees, as now that he has three Pokémon he can challenge Norman, the Leader of the Petalburg Gym to an official Gym battle.
On the road to Mauville City, Ash and his friends encounter a Spinda with a heart-shaped mark on its head. Before they can get too close the Spinda runs off. Soon afterwards they run into a woman named Claire and her butler Royce. She tells them that the Spinda they just saw is her lucky Spinda, it was given to her by a close friend for safekeeping and she has to catch it quickly. Smitten by her beauty, Brock agrees to do whatever it takes to find the missing Spinda, and leads the rest of his friends on a wild chase through the forest. They soon realize that the forest is home to an entire colony of Spinda, each of which has different markings. To Brock's dismay he continually comes across a Spinda with a broken heart shaped patch on its head, which serves as a constant reminder of his failure with women. Hiding nearby, Jessie, James, and Meowth overhear their plan, and decide to catch the lucky Spinda for themselves.
Ash and his friends eventually succeed in locating the Spinda, but before they can grab it Team Rocket suddenly appears, and vacuums it up with their balloon. To their surprise the Spinda fights back, using Dizzy Punch and Hypnosis to send Team Rocket crashing back to earth. Crawling out of the wreckage, the Spinda runs off again, with Ash and his friends in close pursuit. Not to be deterred, Team Rocket decides to take another approach, by capturing a wandering Teddiursa and dressing it up like a Spinda in distress. This plan fails as well when the Teddiursa's parent, an angry Ursaring appears and uses Hyper Beam to blow them away. Upon landing, Jessie and James decide to use Meowth as bait instead, dressing him up as a Spinda. To everybody's surprise, the plan works and the lucky Spinda appears to save Meowth. However, when they try to capture it the Spinda uses Teeter Dance to knock them off a cliff. The Spinda begins to climb up a nearby mountain, with May, Brock, and Claire right behind it.
At the top they find a beautiful field of flowers. The lucky Spinda appears with a flower for Claire, which reminds her that this is the place where she met the Spinda's owner. She realizes that the Spinda wasn't running away at all, it was leading her to this spot. Ash, Max, and Royce appear soon afterwards, and Royce confirms Brock's deepest fears. Spinda's owner is actually Claire's fiance! To make things even worse for Brock, the fiance himself, a man named Kain suddenly appears with flowers for Claire. Their romantic moment is interrupted by another appearance by Team Rocket, who use a giant Spinda shaped robot to capture all the Spinda, even reflecting Kain's lucky Spinda's Hypnosis for easier capture. Pikachu is about to use Thunderbolt only for the mecha to threaten them with a Dizzy Punch of its own, and Claire faints in Royce's arms.
Brock bursts out from behind and goes into a rage, declaring that nobody makes Claire unhappy. He sends out all three of his Pokémon to attack the robot. Mudkip and Lotad are defeated by the mecha, but an Explosion attack from Forretress manages to toast the robot, freeing all the Spinda except for Kain's lucky Spinda. As the mecha explodes, that Spinda is sent flying only to be caught by Kain. Brock caught a Spinda in its hands, only to be in dismay when it is the one with a broken heart pattern. Ash has Pikachu use Thunder to blast Team Rocket off once again. With the happy couple and Spinda reunited, Ash and his friends, including a forlorn Brock, part ways with their new friends and continue on their way.