Ash and the gang are headed for Slateport City in a motorboat so that May can try her hand at a Pokémon Contest. Team Rocket is on board, disguised as sailors, and after a failed attempt at capturing Pikachu, they exit the scene in their normal fashion. Unfortunately, now the boat won't start up. Ash and company are drifting at sea when they discover a large, seemingly abandoned ship. They notice that a small boat is along side the ship, so at least one other person must be on board.
They soon meet up with Tommy, who explains that he lost his Marshtomp on the ship a long time ago. He offers to give them a lift back to shore after he's done searching. Later on, Torchic suddenly disappears, and Team Rocket, who also arrived on the ship, find they are missing Meowth. Shortly afterwards, Max, James, May, Jessie, and Wobbuffet are also captured. They end up all tied up and hanging upside down thanks to some handy work by a Spinarak and a Swampert.
Ash, Brock, Pikachu, and the boy are still looking for everyone when Swampert emerges and Tommy recognizes it as his Marshtomp. The Swampert runs away and they follow it, find the others and free them. The boy apologizes for losing Swampert and boy and Pokémon are happily reunited. Team Rocket makes another futile attempt at catching Pikachu and is sent blasting off again. The gang leaves in Tommy's boat, headed towards Slateport City.