The film focuses on Celebi, who travels to the future with a boy named Sam while being chased by a hunter. Meanwhile, Ash, Misty, Brock, and Pikachu are on their way to the next gym in their Johto journey and get a lift from a man named Maki, who takes them to his hometown of Arborville. They see a Suicune (who was actually the first Pokémon Ash saw in Johto). When they plan to enter a forest that is claimed to have many unusual and rare Pokémon, they are warned by an elderly lady about the “Voice of the Forest”, which may carry a person off to a different period in time unless those hearing it stand still.
Ash finds Sam alone in the forest, as Celebi has fled. Sam awakens and discovers he is forty years in the future from when he was. He, Ash, and the others search for Celebi and they find it in a tree. After some convincing, the gang manage to gain Celebi’s trust. They run into a high-ranking member of Team Rocket, the Iron Masked Marauder, who has been trying to capture Celebi. Jessie, James, and Meowth also team up with the Iron Masked Marauder to capture Celebi.
The heroes take Celebi to its home, the Lake of Life, where it is healed by the water. The group spend the night in the forest. The next day, Celebi is captured by the Iron Masked Marauder and is turned evil by the Dark Ball, a Pokéball with special powers that turns the captured Pokémon evil, and immensely strengthen and magnify all of their abilities to the highest power level. Ash attempts to save Celebi by climbing the Marauder’s robot, which falls over and throws them both out. Ash lands on the ground, but the Marauder begins to step on his hand; it keeps doing this until Ash falls unconscious. The Iron Masked Marauder orders Celebi to create a giant monster from parts of the forest, as he reveals his true plan is to overthrow Giovanni and take control of Team Rocket now that he has a legendary Pokémon to destroy him for good. The heroes chase after Celebi in Maki’s flying boat, but are brought down by the evil Celebi’s attacks. The Iron Masked Marauder tries to kill Ash and Sam, but Suicune saves them. Brock sends out his Onix, and it and Suicune do battle with the Masked Marauder’s evil Tyranitar, while Ash, Sam, and Pikachu clamber into Celebi’s creature and manage to get Celebi to remember its memories, successfully bringing Celebi back to normal, and destroying the Iron Masked Marauder’s Dark Balls in the process, releasing his Scizor, Sneasel, and Tyranitar.