Ash and Brock face off for a friendly training battle. Ash pits his Torkoal against Brock's Lombre, which it seems like a mismatch until Torkoal lets loose with Overheat, sending Lombre rocketing across the forest. The kids run after it, where they meet a Mawile that's become quite attracted to Lombre, along with its Trainer Samantha. Brock sees Mawile's crush as a way to get close to Samantha, and begs Lombre to be nice.
Samantha performs ribbon dances with Mawile, so the two of them demonstrate. The entire group starts walking to a nearby town, when Brock spots a bouquet on the road. He goes to grab it, but it's a Team Rocket trap. They grab Mawile, and Lombre doesn't put up much of a fight. It takes Torkoal and Corphish to sort things out, and Corphish develops a crush on Mawile! But Mawile doesn't like Corphish, breaking its heart.
That night, Samantha and Mawile are set to perform for a huge crowd, but the show is interrupted by Team Rocket once again. In a cloud of smoke, they grab a Pokémon—Lombre!
Jessie and James are dismayed to find they made a mistake, though Lombre and Wobbuffet get along well. Leaving Brock behind to manage the crowd (with Corphish's help), the others catch up to the thieves, and Jessie puts up a fight simply because Ash wants Lombre back. Lombre finally puts up a fight, protecting Mawile. After the thieves blast off again, the kids return Lombre to Brock.
During Samantha and Mawile's performance, Lombre wanders over to Samantha's backpack, taking a Water Stone out of it—and evolving into Ludicolo! It jumps on stage and joins the performance, amusing the crowd. The show is a success, but Mawile doesn't like Ludicolo now. A disappointed Brock joins Ludicolo in a happy dance to recover from their heartbreak.
Ash finishes his meal and is keen to get some training in. With May still eating, Brock volunteers to battle Ash instead. Ash chooses his Torkoal while Brock selects his Lombre, prompting Max to question Ash’s judgment as Brock's Water-type has the clear advantage. Ash starts off by having Torkoal use Body Slam, which Lombre manages to dodge. Torkoal then tries a Flamethrower attack, but Lombre leans backwards to evade. Torkoal attempts to use another Body Slam, but it misses yet again. Now, Lombre goes on the offensive, hitting Torkoal with a Water Gun. Torkoal survives the attack and counters with Flamethrower, but it misses. Lombre responds with Razor Leaf, but it is no good as Torkoal withdraws into its shell with Iron Defense to deflect the attack. After the Razor Leaf subsides, Ash has Torkoal use Overheat, which hits Lombre and causes it to go blasting off. The Water Pokémon lands in a nearby forest, where a Mawile and its Trainer are practicing new techniques.
Ash and the others soon catch up to Lombre. Brock gets one look at the Mawile's Trainer, Samantha, and instantly begins his heart-eyed routine. Ash looks Mawile up in his Pokédex, and after that the Deceiver Pokémon starts getting closer to a vacant-faced Lombre. Samantha reckons that her Pokémon likes Lombre, causing Brock to give his Pokémon a nudge. Mawile moves in a bit closer, but Lombre turns its back on Mawile before walking off to the side. Brock goes over and asks the Water Pokémon what it is doing, whispering that if it gets together with Mawile, it will improve his chances of getting with its Trainer, Samantha. Max overhears Brock's plot and promptly scolds him for planning to use his Pokémon like that. Mawile approaches Brock's Lombre and tries to get closer, but it is rejected again, so the Deceiver Pokémon turns around and uses its massive jaws to attack Lombre. Suddenly, May looks over to Samantha's bags and notices a bunch of ribbons, at this Samantha offers to showcase her ribbon dance routine. Ash and the others watch the performance intently while, unknown to anyone in the group, Team Rocket also watches. Meowth decides that they should kidnap the Mawile, saying that its ribbon dance will entertain Giovanni and its large jaw would make a nice cushion. James isn't convinced, but Jessie reminds them they have nothing else to lose, so they decide to go for it.
Following the ribbon dance, the group accompany Samantha to the next town, where she is also due to perform. On the road, Brock notices an abandoned bouquet of flowers and he rushes over before ordering Lombre to give them to Mawile. Ash and the others catch up to Brock, and are immediately auspicious about the discarded flowers. The ground beneath their feet soon collapses, and Team Rocket soon confirms that it was indeed one of their pitfall traps. The trio net Mawile and begin flying off in their balloon. Ash calls on Corphish while Brock calls on Lombre, so Jessie responds by sending out her Seviper. Corphish uses Bubble Beam on Seviper, knocking it back for a moment. James decides to call on his Cacnea to help Jessie out, and, as usual, the Cactus Pokémon begins to hug its master. The battle continues as Seviper wraps its body around Corphish. Lombre steps up and uses Razor Leaf on the snake Pokémon, freeing Corphish from Seviper's grasp. Seviper responds by using Poison Tail on Lombre while Cacnea uses Needle Arm on Corphish. Both Pokémon are knocked back as Ash decides to call on his Torkoal, who quickly hits Cacnea with its Body Slam. It then uses Flamethrower on Seviper, knocking it back into the Meowth balloon's basket. The jolt from Seviper jars the balloon, enabling Mawile to escape. Now that Samantha's Pokémon is free, Corphish Crabhammers James's Cacnea into the balloon. The Pokémon's needles puncture the balloon, sending Team Rocket blasting off.
With Team Rocket out of the way, Corphish is able to get a good look at Mawile, and it becomes infatuated. It offers the Mawile the bouquet of flowers, but Mawile responds by clasping its jaws on Corphish before hurling it some distance away. Corphish doesn't give up as it runs back to the others to try again. However, it is greeted by the sight of Mawile holding onto Lombre's arm. The heart-broken Corphish begins to bawl, and Brock joins in, telling it that he knows how it feels. Ash's Torkoal joins in all the crying, just because it can. The group is now in a city, where Samantha and her Mawile are about to go on-stage to perform for an outdoor stadium full of people. In the audience, Ash and the others wait for the start of the show as Corphish gives Lombre the death glare. May comments on how Corphish sees Lombre as its rival in love as the show starts. The spotlight comes on Samantha and Mawile, and the two begin their ribbon dance. Suddenly, the lights go out, and Team Rocket's balloon can be seen arriving on the scene.
Jessie, James, and Meowth, all in theatrical costumes, recite their motto as they botch up their act. Afterwards, Jessie calls her Seviper out and orders it to use Haze on the stage. As everyone coughs from the smoke, Team Rocket emerges from the smoke with Pokémon in tow, laughing victoriously. After Team Rocket escapes, the group notices that Mawile is still there, but Brock's Lombre is missing. Mawile, worried about Lombre, rushes off, with Samantha following. Ash and May tell Brock to stall for time, and go along as well. Brock manages to convince Corphish to stay behind and help.
Elsewhere, Team Rocket has landed their balloon and realizes their mistake. After thinking for a while, they decide that giving Lombre to the Boss would be a bad idea, and Wobbuffet comes out of his Poké Ball to agree. Wobbuffet and Lombre begin to have a conversation, and Meowth reveals that what it ended up being was a bad comedy routine. Suddenly, Ash and the others arrive. Jessie calls on her Dustox while James orders out his Cacnea. Mawile is ordered to use Bite, so it uses its massive jaws to clamp down on Cacnea. Dustox tries a Psybeam and Cacnea is ordered to use Pin Missile on Mawile, so Ash steps in and has his Pikachu use Thunder. The attack hits Dustox, knocking the Moth Pokémon into Meowth. However, Cacnea's Pin Missile is still coming toward Mawile. At the last minute, Lombre jumps in front and shields Mawile from the attack. as Mawile looks lovingly at Brock's Pokémon. After the Pin Missile attack stops, Dustox, having recovered from Pikachu's attack, charges toward Lombre with Tackle. The Water Pokémon is able to dodge its attack, and afterwards Mawile moves from behind Lombre and uses Focus Punch on Cacnea. Dustox aims a Poison Sting at Lombre, but it is able to dodge it, and responds by hitting Jessie's Pokémon with a Water Gun. Dustox uses Whirlwind, though Lombre dodges and responds with Razor Leaf, impressing Mawile even further. Cacnea uses Pin Missile, which Lombre is able to block it. Then Lombre hit both Cacnea and Dustox with Razor Leaf and Mawile then prepares for a massive Solar Beam. The attack is released, sending Team Rocket blasting off.
Everyone congratulates each other on a battle well-fought, but they realize that they have to return to relieve Brock and Corphish. Samantha and the others arrive to find Brock visibly tired from the performance, so he is relieved when Samantha gets back on the stage. She and her Mawile resume their ribbon dance as everyone else goes backstage. There, Lombre approaches Samantha's bags and starts rummaging through them where he finds a Water Stone. Just then, Lombre begins to glow and evolves into Ludicolo. After it evolves, it quickly jumps onto the stage and joins the performance, happily dancing along. After the show, Brock apologizes to Samantha for Lombre using her Water Stone. Samantha doesn’t mind as Ludicolo helped make for a great perfomance. However, Mawile doesn't want anything to do with Ludicolo, now that it has evolved. Samantha's Pokémon then spots a Psyduck in the distance and begins fawning over it, and Samantha guesses that it must be attracted to absentminded Pokémon. Ludicolo quickly gets over its rejection and starts dancing, firing Bullet Seed into the air as it does so. Brock likes Ludicolo’s way of getting over heartbreak, and so the pair begin dancing together.