The story revolves around the Millennium Comet, which appears in the night sky for seven days once every thousand years. This is also when the Mythical Pokémon Jirachi awakens from its long slumber to absorb the comet’s energy. This energy, in turn, is released into the ground, bringing life to the area known as Forina where it rests. This time, however, a magician known as Butler and his long-time girlfriend Diane unearth the stone that encases Jirachi, and take it away from Forina.
Meanwhile, in celebration of the Millennium Comet’s appearance, Ash Ketchum and his friends May, Max and Brock arrive at a wide crater, which is where the festival of the Millennium Comet is meant to be. Upon seeing nothing where the festival should be, they decide to wait until morning and go to sleep. While they’re sleeping, the festival arrives; Pikachu, Ash’s Pokémon companion, notices first and wakes all the others, and they watch the festival being set up.
At the festival, May buys a seven-panelled novelty that is said to grant a person one wish if a panel is closed for each night the comet appears and is visible in the sky. Later, Ash and Max accidentally volunteer for one of Butler’s magic tricks because Max hears a voice coming from the rock Diane is holding, and runs down to the stage. Max is introduced to Jirachi, who he hears talking from inside the rock. Butler lets Max take the rock, from which Jirachi emerges later that night. Hoping its wishing ability is true, Max wishes for lots of candy, and it appears – but it is revealed that instead of creating the candy, Jirachi teleported it from a stall in the festival.