As they journey toward Saffron City, our heroes come to a path that continues along the side of a sheer cliff. When the party sees a flock of Butterfree flying above the ocean, Brock, as a Pokémon breeder, explains that it is the Butterfree's egg-laying season. In order to continue their posterity, Butterfree find mates during this season and cross the sea together. Ash releases his Butterfree, sending it off toward the flock. His Butterfree performs a dance to attract a pink Butterfree, but is brutally rejected. Ash, Misty and Brock try to encourage Butterfree, but Butterfree can't recover from the shock of rejection. Just then Team Rocket arrives to poach the Butterfree. Ash's Butterfree tries to prevent the capture of his fellow Pokémon with very little success. Determined to free them and win the heart of the pink Butterfree, he battles Team Rocket with the strength and courage of a Pokémon in love. Can Ash's Butterfree rescue his fellow Butterfree Pokémon and win the heart of his pink Butterfree? If so, will he leave Ash, his beloved Pokémon trainer, to follow his love and fulfill the Butterfree destiny?
On their way to Saffron City, Ash, Misty, and Brock arrive at a high cliff. Brock informs the others that the ridge of the cliff should lead right to Saffron City. Then Ash notices a large group of Butterfree in the horizon. Brock states that the Butterfree are celebrating their season of love to find a mate.
The group rents a hot-air balloon and are soon in the air following the Butterfree. Ash sends his Butterfree to find a mate, but he struggles to get any interest from the other Butterfree. Brock states that none of the Butterfree may be "its type", pointing out the unique differences among all Butterfree. They then notice that other Trainers brought their Butterfree, especially a girl Brock falls in love with. Ash's Butterfree flies back to Ash and friends, and after they cheer up the Butterfree he returns to seeking a lifetime mate. Very soon Butterfree falls in love with a pink Butterfree. The pink Butterfree, however, rejects Ash's Butterfree's proposal. Ash's Butterfree keeps on trying, but the pink one eventually slaps him across the face with her wing. Being shot down, Ash's teary-eyed Butterfree then flies away into a forest.
Eventually, Ash, Misty, Pikachu, and Brock find Butterfree in the forest. Totally surprised, they discuss how they could help Butterfree. Ash decides to check if the Pokédex could help, but Misty notes that Dexter has never been in love, so they instead decide to go with a show-off strategy. Ash tells his Butterfree to show his strength to win the love of the pink Butterfree. In order to make Butterfree also look better, Brock puts a scarf around his neck.
They return to the air with Butterfree. After failing to impress the pink Butterfree with Whirlwind and Tackle, Team Rocket arrives in a helicopter. They sing their motto and catch the Butterfree using a large net to gather them. Ash and friends try to make Team Rocket change their mind, but it fails. Ash's Butterfree uses its Tackle on the helicopter's windscreen and later a Stun Spore, though its efforts fail. Ash is about to recall Butterfree and use Pidgeotto instead, but Misty prevents this because Ash could hurt Butterfree's confidence. Team Rocket leaves the scene with Ash's Butterfree, with Ash and his friends following them to a warehouse in the middle of a bare canyon.
Ash and his friends break in through a window while Team Rocket reviews their catch. They improvise a mock-up version of their motto. Team Rocket tries to prevent them from winning, but Ash's Butterfree dashes through them. Misty calls her Starmie out of its Poké Ball and commands it to chase Team Rocket with a Tackle attack. Meanwhile, Butterfree repeatedly tackles the net bag holding the other Butterfree, causing it to break open the bag. Jessie hits Starmie with a hammer, but Misty revives it by spraying water on it. Brock opens the doors and the Butterfree fly out of the warehouse. Team Rocket tries desperately to catch their loot, though their small nets fail. Ash's Butterfree, exhausted from breaking the net, is still inside, the pink Butterfree approaches him and is impressed by his determination. James tries to catch her, but Ash's Butterfree knocks James away, also making the pink Butterfree blush.
Team Rocket returns to their helicopter in a last-ditch attempt to recapture the Butterfree. However, Ash and his friends pursue them in their rented balloon, catching up quickly. As the pink Butterfree watches, Ash's Butterfree flies towards Team Rocket's helicopter with Pikachu on his back. Pikachu jumps on the helicopter and unleashes a Thunder Shock attack, sending Team Rocket down into the darkness. Having witnessed the determination of Ash's Butterfree, the pink Butterfree shows her new love by making her own proposal dance. Naturally, Ash's Butterfree joins the dance.
Back at the cliff, Ash, filled with mixed emotions, bids farewell to the Butterfree couple. As they fly into the sunset, a flashback of Ash's memories is shown. Ash remembers first capturing Caterpie, then him evolving into a Metapod and finally into Butterfree. He remembers times with Butterfree such as battling Misty's Staryu for the Cascade Badge. As Misty tells Ash that Butterfree is nearly out of sight, he waves and wishes Butterfree good luck. Butterfree continues its flight path into the sunset with tears streaming from its eyes.
At the end of the episode, the song that plays during the scene of Ash and his friends saying goodbye to Butterfree is different in both versions. The Japanese version uses Aim to Be a Pokémon Master, while the English version uses Pokémon Theme. However, they are both the first theme songs for their respective versions.
However, in the Dutch version, The Time Has Come (Pikachu's Goodbye) is used as the song that plays in the montage of scenes featuring Ash and Butterfree, and during the scene of Ash and his friends saying goodbye to Butterfree.
A shot of Ash giving commands to Butterfree was replaced with Butterfree doing a skydive.
The banner that had Team Rocket's motto had the text edited out.
Meowth's mention of becoming the top cat again was him saying "when we tell the boss..." and trailing off.
During the scene in which Ash and his friends pursue Team Rocket and then Pikachu uses Thunder Shock, an instrumental version of Kanto Pokérap is played in the European Portuguese dub. In the Dutch version, the song that plays during the farewell montage of Pikachu's Goodbye is used.
In the dub, Brock says that Ash raised Butterfree to be courageous and that he believes Ash has shown himself to be courageous too, to which Ash thanks him. In the original version, he instead says that people can take care of Pokémon but cannot reproduce them, to which Ash agrees.