After the fateful events of Pokémon: The Rise of Darkrai, Shaymin, a hedgehog-like legendary Pokémon, is drawn into a battle between Dialga and Giratina, who drags both Shaymin and Dialga into the Reverse World. A frightened Shaymin uses her powers to escape through a portal back to the normal world, Dialga following after he disables Giratina’s ability to venture to Earth by trapping it in an infinite time loop. The battle is witnessed by Newton Graceland, a specialist on the Reverse World, and by the film’s antagonist Zero.
Shaymin survives, ending up in a beautiful seaside town (Bergen) where it runs into Ash Ketchum, Dawn, Brock and their Pokémon, causing mayhem whilst trying to steal Ash’s lunch. Shaken by its experience, Shaymin falls ill but healed at the local Pokémon Center. Ash is frustrated by its pompous attitude, but he and his friends agree to take Shaymin to the Flower Garden, so it and others of its kind can migrate and grow a new garden where they go, through a process called flower bearing. Team Rocket appear and try to run off with Shaymin, only for a portal to the Reverse World to open and swallow them, Shaymin, Ash, Pikachu, Dawn and Piplup.
In the Reverse World, the kids encounter Giratina but are rescued by Newton, who explains the distorted world is an alternate dimension which reflects Earth, and he was trapped in the dimension five years ago whilst studying it. The balance between time, space and the Reversed World was damaged during Dialga and Palkia’s fight in the previous film. Giratina targets Shaymin, angry that it helped Dialga escape from it, prompting Newton to send the kids and Pokémon back to Earth, but Team Rocket are too slow to follow. Zero, seeking Shaymin’s power, attacks the kids with his army of Magnemite, Magneton and Magnezone, forcing them to escape onto a departing train.
The kids befriend several train passengers, Shaymin making contact with a Gracidea flower and transforms into its Sky Forme, altering its appearance to a deer-like state and allowing it to fly. Zero’s Pokémon attack, but Shaymin, Pikachu and Piplup blast them out of the train. The kids board a ferry heading to the mountain where the Shaymin live, but are sucked into the Reverse World again, followed by Zero and his Pokémon. Giratina attacks the group after Shaymin provokes it before transforming back to its normal form, Newton and Team Rocket saving the kids. Zero appears, reveals he was Newton’s assistant, and plans to use Shaymin’s powers to open a portal for Giratina to return to Earth. Shaymin panics, opening a portal and sends everyone, save Team Rocket, back to Earth to Shaymin’s home.