On a dark and stormy night, Ash and his friends find a deserted town near an old mine. Inside the mine is a Haunter, who scares our heroes away! Team Rocket sees the commotion and investigates, only to receive a scare that sends Wobbuffet running in fear. Team Rocket then discovers that the Haunter was an illusion created by a team of Ghost Pokémon—but why?
Camped out in an empty house nearby, Ash and his friends hear strange music in the night. The music is coming from Kirlia and its Psychic Pokémon friends, all having a dance party! But Abra sleeps right through it, using its psychic powers to block out the noise. Ash and Max accidentally crash the party and scare away the Pokémon, so they make amends by putting on their own party.
Team Rocket learns that the mine's Ghost Pokémon don't like all this noise, so they offer to help restore peace and quiet to the town. Meanwhile, Wobbuffet catches sight of the graceful Kirlia and immediately falls in love. It joins the party and tries to woo Kirlia, but Team Rocket crashes the event with a giant robot that the Ghost Pokémon helped disguise as a huge Haunter. The robot snatches all the Pokémon, and Wobbuffet defies Jessie to free Kirlia and the other Psychic Pokémon.
Kirlia helps defeat Team Rocket and the Psychic Pokémon and Ghost Pokémon face off! Pikachu tries to shock some sense into them, but it's Brock who figures out the solution. The Psychic Pokémon can party inside Abra's soundproof psychic bubble, and the Ghost Pokémon won't hear a thing! With the town back to normal, our friends can continue on their Battle Frontier journey.