The episode opens overlooking a large ferry, while the narrator explains that Ash has left all his Pokémon except Pikachu behind in Pallet Town when he boarded the ferry. Ash and Pikachu jump into the ship's pool and begin splashing at one another.
Later, Ash and Pikachu are relaxing on a sun lounger talking about what they will do when they get to Hoenn when the captain and his Machoke walk past. Ash asks him when the ship will get to Littleroot Town, and the Captain and Ash have a chat about Hoenn. Meanwhile, Team Rocket are watching from their hiding place inside a lifeboat, and start to discuss about stealing Pikachu.
That night, Team Rocket use their extendable grabber to snatch Pikachu from Ash's bed. He wakes up when Pikachu cries out, but by the time he gets out of his room, Team Rocket are nowhere to be seen. While he is searching he comes across the captain, who used a computer to scan the ship for stowaways. They discover Team Rocket are hiding in the food storage area.
In the food storage area, Team Rocket are stuffing their faces while Pikachu is in an electricity-proof glass case. When they are discovered, they launch into their motto, before sending out Arbok and Weezing to battle the captain's Machoke. Ash intends to send out one of his Pokémon to help, but then remembers that he left them all in Pallet Town. Machoke dodges a Poison Sting, but gets blinded by SmokeScreen, allowing Weezing to hit it with Tackle. Then Arbok uses Acid, Machoke dodges, causing it to eat through the water storage tank, and thus, everyone to be swept away in a torrent of water.
The captain and Machoke manage to climb out of the water, where he orders the ship to the nearest port for repair. Team Rocket run along the deck of the ship and launch a rope to a nearby crane, allowing them to swing to shore. As they are swinging Ash jumps and grabs onto Wobbuffet, but they swing into the crane and all fall to the port below. Ash lands on some crates, breaking one, trapping him. Jessie, James and Wobbuffet land on one truck, and Meowth and Pikachu land on another. Both trucks then drive off, but they both go in different directions, splitting the groups up. Ash manages to break out of the crates just as Officer Jenny pulls up on her bike and Ash explains what happened.
The truck which Meowth and Pikachu are on is driving past some warehouses when it swerves suddenly, tossing them off. Pikachu's cage opens, but Meowth and Pikachu work together. While they are walking along, Meowth and Pikachu start to argue, but then a Haunter comes up behind them and attacks them with Night Shade. They both dodge it and then Meowth retaliates with Fury Swipes, which just passes straight through it. Haunter uses another Night Shade, and then Pikachu Thunderbolts it, scaring it off. Some Pidgey, Oddish and Rattata then appear around them.
Back by the ship, Ash is in Officer Jenny's sidecar, and they are ready to leave. The captain calls down to Ash that the tank should be fixed by nightfall, and that if he is not back by then they will be forced to leave without him. Jenny then releases her Pidgeot to look for Team Rocket.
In one of the warehouses, the Pokémon are explaining to Pikachu and Meowth that a group of Haunter have moved into the area and started scaring everyone. At that point another Oddish runs up and tells them that Haunter is coming for them with all of its buddies.
Team Rocket is in their balloon, and while James is searching for Meowth, Jessie is more interested in finding Pikachu. Back with Ash, Officer Jenny asks Ash about his Pikachu, and he explains to her why they are so close and why Pikachu is the only Pokémon he has on him. Pidgeot spots something and speeds up, and Officer Jenny follows.
Meanwhile the Haunter have shown up and tell the others to get out of their turf. Meowth tries to back away from them and talk his way out of it, but Pikachu says that the area is for all the Pokémon, not just the Haunter. Meowth queries what it is doing, but Pikachu says that that is what Ash would have done, and that it is the right thing to do. Haunter then launches a Shadow Ball at them, which they both dodge. Pikachu launches a Thunderbolt, but the Haunter dodge it and surround them. They all use Night Shade, but Pikachu jumps onto Meowth and then jumps out of the way, pushing Meowth down under the attack, and making the Haunter hit each other. Pikachu then fries them all with Thunderbolt, and they flee.
The Pokémon then ask Pikachu and Meowth to stay and protect them, but then Team Rocket show up and trap Pikachu in a metal sleeve. They retrieve Meowth with their grabber, before using an electromagnet to stick Pikachu to their balloon. Just as they do, Pidgeot shows up and pierce their balloon, causing it to crash to the ground. Ash and Pikachu are reunited, but then Team Rocket re-activate their electromagnet. Ash refuses to let go, and gets slowly dragged along towards it, but then James ups the power, pulling some nearby metal drums towards it, exposing the Haunter and smashing into Ash. He is knocked over, and Pikachu gets stuck to the magnet which starts to suck all of the electricity out of him causing Pikachu a lot of pain. Ash and Jenny can't do anything, but then one of the Rattata uses Hyper Fang to break the metal sleeve, freeing Pikachu. Team Rocket then run towards it, but the Haunter use Night Shade on the electromagnet, sending them blasting off. The Haunter and Rattata then shake hands, as Ash cradles Pikachu.
The scene changes, with the captain regretfully looking over the port as the ship starts to sail off into the sunset. Pidgeot then flies up above them with Ash and Pikachu on its back. That night, Pikachu is sleeping on Ash's bed while he is looking at him. he then tucks him in, saying that he deserves a good rest. On the outside of the ship, Team Rocket are stuck to the electromagnet, which has attached to the hull of the ship, by a couple of metal poles from their balloon.
As the boat approaches Littleroot Town, Ash steps up on the deck in his new clothes and looks on, eager to reach Hoenn. Some Wingull and Pelipper fly alongside the ship, some Sharpedo jump out of the water around it and some Wailmer swim alongside it. This takes place as Pikachu sleeps inside the boat. Ash goes to wake him up to show him all of the new Pokémon, but when he tries to touch him, Pikachu starts to spark, and Ash realizes that he has a serious fever. With that, the episode ends as Ash looks worriedly upon the friend he has known since the start of his journey.