While traveling along the road to Azalea Town, Ash and his friends notice many Grass-type Pokémon, including a Pokémon hopping along the path, which Brock identifies as a Hoppip. Suddenly, a breeze picks up and lifts the Hoppip into the air, and the trio pursues it. Just then, a girl appears and catches Hoppip in a large butterfly net. As she sets the net down, another Hoppip floats down and lands on her head. The trio catches up with her, and the girl introduces herself as Mariah. She explains that the two Hoppip belong to her along with five others, which she uses to predict the weather. Leading the group outside, she predicts that the wind will pick up because the Hoppip have all clustered together. Sure enough, a breeze arrives and sends two of the Hoppip soaring away, only to be caught by the fence. Mariah announces that such a breeze only rates a two on the Hoppip Scale, as it was only strong enough to lift two Hoppip.
Mariah announces her plans to do more research on the relationship between Hoppip behavior and the weather in order to help meteorologists to make long-range predictions. Once more, the Hoppip group together just before another breeze lifts all but one of them away. The last Hoppip quickly runs after the others, climbing a rock and jumping off in an effort to fly like them, but it fails. As Misty aids it and cleans it up, Hoppip's pink color washes off and reveals the Pokémon to be an Oddish. Mariah explains that the Oddish is a Pokémon from the neighborhood that spends so much time with her Pokémon that it wants to be just like them. As they speak, Oddish climbs up a section of the wire netting and jumps off, this time finding a softer landing in a pile of hay. Meanwhile, Team Rocket is watching from a distance. Upon seeing the Hoppip, Meowth suggests stealing them and using them for a delivery service business, but Jessie and James dismiss that idea and suggest stealing them for the Boss.
Back at Mariah's house, Misty is attempting to console Oddish, but she is interrupted by a masked Team Rocket, who recites their motto. Meowth then activates a large electric fan, which sends the Hoppip flying. However, the group quickly plucks the Cottonweed Pokémon from the air. Ash then calls out Chikorita, while Jessie chooses Arbok. Arbok lunges for Chikorita but is stopped in its tracks by Chikorita's Tackle. Ash orders a Razor Leaf attack, sending Arbok crashing down on top of Jessie and James. Meowth increases the power of the fan to hurricane-level speeds. However, Pikachu jumps from Ash's shoulder to use Thunderbolt, exploding the fan and sending Team Rocket blasting off. Though the danger has passed, the Hoppip suddenly begin to group together and put their leaves together, indicating an impending windstorm. Indeed, a tornado forms and heads towards the group, sweeping up Team Rocket in the process.
At Mariah's cabin, the group boards up the windows and brings the Pokémon inside before taking cover underneath Mariah's desk. When the tornado strikes, it removes the roof, carrying Oddish, the Hoppip, and the desk away, though the others remain safe. After the storm passes, the trio offers to help Mariah find her Hoppip. After setting out on their search, they quickly locate the roof and with it Oddish, slightly battered but otherwise unhurt. Mariah explains that Oddish is capable of finding Hoppip no matter what and recounts a story of it finding a Hoppip lost in a thunderstorm. The group follows Oddish through the woods, and it locates the first of the missing Hoppip in a tree. Brock goes up the tree to save Hoppip, seizing an opportunity to impress Mariah. Then, Oddish leads them down a riverbank, where they see a second Hoppip caught in a branch stranded in the middle of the river. Brock once again volunteers to save the stranded Cottonweed Pokémon and succeeds in doing so.
Oddish later spots a third Hoppip floating in the breeze up ahead. As the group chases after it, Team Rocket appears in their balloon, revealing that the tornado blew four of the Hoppip into it. As Meowth once again suggests his Hoppip delivery scheme while Jessie suggests attaching pin-wheels to the Hoppip, the Hoppip Ash and his friends were pursuing appears before them and is captured by James. Seeing this, Misty calls out Staryu and commands it to use Tackle, which punctures the balloon, sending it crashing further into the forest.
The group comes across Team Rocket, whereupon James calls out Victreebel, which promptly tries to eat him. Ash chooses Heracross, Jessie chooses Arbok again, and Misty calls for Staryu to battle again. Just as the battle is about to commence, Oddish runs out into the middle of the scene, wanting to battle, much to the amusement of Jessie and James. James orders his Victreebel to perform Tackle, but Oddish responds with a strong kick, followed by Stun Spore, and then ends the battle with another kick. Seeing James' defeat, Jessie orders Arbok to use Bite, but Oddish dodges it and releases Sleep Powder from its leaves. With both Pokémon defeated, Meowth uses Scratch, but before he can strike, Oddish uses Solar Beam and sends Team Rocket blasting off again.
With the Hoppip safe, the trio congratulates Oddish, while Mariah names it an honorary Hoppip. Much later, the trio says their goodbyes, and Brock offers to stay with her before being dragged off by Misty. Mariah and her Pokémon wave Ash and his friends goodbye as they head off again.