A mysterious meteorite is hurtling towards the earth. During its entry into the atmosphere, it almost wounds Rayquaza, a sky guardian living in the ozone layer. The meteorite crashes into a polar zone, revealing two egg-shaped objects. The purple egg regenerates into a Deoxys and picks up the green egg. Rayquaza descends from the ozone layer to fight the invader (believing it to be an enemy). A battle ensues, destroying a nearby research site and traumatizing a young boy, scared by a stampede of Spheal, Sealeo, and Walrein. The purple Deoxys engages Rayquaza and the two take turns delivering devastating blows to each other, but the fight draws to a conclusion when Rayquaza surprises the alien Pokémon and fires a point blank Hyper Beam at it. Deoxys goes back to egg form and falls into the sea, while some researchers take the green egg with them. Beneath the sea, the injured Deoxys regenerates and waits. The green egg appears somewhere in Hoenn.
Four years later, Ash, May, Brock, and Max travel to LaRousse City, where block robots patrol the area. There they meet Tory (Tou’i), a boy who is afraid of Pokémon because of psychological trauma that had ensued from the stampede caused by the battle between Deoxys and Rayquaza. Tory is found to be a loner. Deoxys, which has fully healed, leaves to find the other green egg which Tory’s parents are testing in a lab.
In the Battle Tower, Ash mistakes Tory for a Pokémon trainer and they battle against Rafe and Sid, with Tory using Ash’s Torkoal. However, Tory does not know how to handle Ash’s Torkoal and they lose. Tory runs away, stopping to save a Minun which was trapped in a trash can. Later, Ash meets Tory’s parents and they have fun until they see a mysterious purple aurora, signaling the return of Deoxys.
When Deoxys begins to remove the city’s inhabitants to search for the green egg using copies of itself, it is up to Ash, Pikachu, and Tory to help it find the egg. This is complicated by the return of Rayquaza, and the security robots malfunctioning, which forces Deoxys to create a force field that disables the city’s power. Later, Rayquaza manages to break through the force field. Deoxys and Rayquaza then continue to battle, causing havoc in the city. The green egg is regenerated when Pikachu and Minun and Plusle charge the power generator in the lab. As the fight continues, Deoxys tackles Rayquaza into the floor. It prepares to kill Rayquaza, but the green Deoxys arrives in perfect timing and quickly transforms into defense form saving Rayquaza from the attack. The city is filled with blocks of robots when the main robot becomes hostile, which overwhelm Rayquaza. The twin Deoxys form shields that protect Rayquaza. Seeing that the two Pokémon are willing to protect it in face of this new threat, Rayquaza begins firing Hyper Beams upon the thousands of robots.
Ash and Tory work together and ultimately manage to shut off the malfunctioning robots by disabling the main robot, freeing the twin Deoxys and Rayquaza. Tory almost falls and dies, but he is saved by the green Deoxys. Rayquaza, recognizing that the Deoxys aren’t enemies, flies away peacefully, and the Deoxys form green and purple auroras in the sky as a goodbye to their friends, leaving to an unknown destination. Ash states that wherever they are going, at least they would always have each other. Tory, who has gotten over his fear of Pokémon, agrees and later bids Ash and the others farewell at the train station with his new friends, Plusle and Minun, on his shoulders.