Moments after Team Rocket escaped in the arms of a Dragonite, Ash and his friends see Ash's Charizard approaching them from the sky. As Charizard lands on Ash and licks his face, Ash says that it hasn't changed a bit. Charizard is quickly followed by Liza, astride Charla's back, who both Ash and Clair are acquainted with. It is revealed that Liza and Clair were good childhood friends and that Liza occasionally brings the Charizard from Charicific Valley to the Dragon Holy Land to train. Clair admits that she had seen Ash's Charizard before, but wasn't aware of its original Trainer. It seems that Charizard also has a romantic relationship with Charla, causing Brock to lament that he seems to be the only one here without any luck in love.
Liza asks Ash if he's had his Gym Battle with Clair, prompting the group to brief her on their recent troubles: Team Rocket stole the Dragon Fang, escaped into the Dragon's Holy Land, and tricked its guardian, Dragonite, into assisting them. Liza, Charla, and Charizard immediately pledge their assistance, and the group is soon being towed across the Holy Land in Charizard-pulled balloons. As they fly, the group wonders why Dragonite would assist Team Rocket. Brock suggests that the criminals threatened to destroy the Dragon Fang, thereby forcing Dragonite to obey them, but Clair doubts that a Pokémon as intelligent and powerful as the Holy Land's Dragonite would fall for such a ruse. Kaburagi reminds Ash and his friends that Dragonite originally belonged to the first Blackthorn Gym Leader, who had dedicated his life in protecting the Holy Land; even after he passed away, his Dragonite continued its vigil in memory of its Trainer.
Meanwhile, Team Rocket is having a very uncomfortable flight in Dragonite's arms, but the latter assures them, as translated by Meowth, that it is taking them somewhere good. Dragonite finally drops its passengers off by a large lake, before going into the woods and collecting fruit for them to eat. As Team Rocket digs in, Dragonite implores them to eat in safety, promising them that no one will harm them now. Overcome with emotion, Team Rocket bursts into tears and praises their savior. However, the dastardly trio's attention is quickly drawn to their surroundings - namely, a small structure on the side of the lake.
In the air, Clair and company have spotted the same lake, prompting Kaburagi to wonder if Dragonite would take Team Rocket to the Dragon Shrine. When Ash questions Kaburagi about the Dragon Shrine, the old man explains that it was built long ago to represent hope for harmony between humans and Pokémon. Within the shrine lies the Prayer Flame, a symbol of the eventual peace between humans and Pokémon; despite being lit over 500 years ago, it remains strong to this day. Unbeknownst to the heroes, Team Rocket is sneaking into the shrine while Dragonite sleeps, planning to raid it of its valuables. They come upon the golden bowl containing the Prayer Flame and resolve to steal it, only for James to insist that they take it as is reasoning that it's probably worth more if the flame is still lit. However, the bowl's heat burns right through his gloves, causing him to hurl the flame out of the shrine. Jessie and Meowth curse James's clumsiness, but they soon realize that they have bigger problems; the fallen flame has set the landscape ablaze. Dragonite notices this, and turns on Team Rocket with a Hyper Beam, even as the flame burns out of control.
After dodging several attacks, Jessie uses Wobbuffet's Counter to reflect one of Dragonite's Hyper Beams back at it - however, this only seems to make the Dragon Pokémon even angrier. Luckily, Ash and his allies arrive on the scene, with Charizard's Flamethrower saving Team Rocket from another Hyper Beam. Clair sends out Dragonair to put out the raging fire by making it rain, while Liza, Misty, and Brock call on Charla, Onix, Geodude, Staryu, and Politoed to save the Pokémon trapped in the fires. Charizard glares at Dragonite, but Ash reins it in, intent on trying to reason with Dragonite first.
Team Rocket huddles at Ash's feet, thanking him for saving them; and Kaburagi takes the opportunity to retrieve the Dragon Fang from James. Clair begs Dragonite to recognize her and stop its attack but to no avail. Dragonite fires a Hyper Beam at her, which is only partially deflected by Charizard's Flamethrower. Although Clair is unharmed, Kaburagi finally realizes why the Pokémon is so unreasonable; he warns Clair that Dragonite is suffering from attack rage. As the guardian of the Holy Land unleashes a powerful Twister that forces Dragonair to dispel its rain clouds, Misty asks Clair about Kaburagi's statement. The Blackthorn Gym Leader explains that Dragonite has become confused after performing too many consecutive attacks, causing it to attack everything it sees in a berserk fury.
Realizing that they need to battle Dragonite to snap it out of confusion, Ash has Pikachu try a Thunder; unfortunately, Dragonite dashes up and knocks him down before he can attack. Ash catches Pikachu and is in turn saved from Dragonite's attack by Charizard. Ash again tries to talk Dragonite down, asking it to listen to the cries of the wild Pokémon around it, but the maddened Dragon-type is unmoved. Kaburagi declares that Dragonite entered the attack rage in response to something terrible, forcing James to admit his attempt to steal the Prayer Flame. As Misty's Politoed puts out the flames around the Dragon Shrine, Clair leaves Kaburagi in charge of restoring the shrine, while she tries to think of a way to stop Dragonite's rampage.
Meanwhile, Charizard and Dragonite face off over the lake. Charizard opens with a Flamethrower, knocking Dragonite into the water. Dragonite emerges unharmed and fires a Hyper Beam at Ash, but Dragonair intercepts the attack with Safeguard. Clair arrives and asks Ash to work with her in order to stop Dragonite. When Ash agrees, Clair has Dragonair use Bind to cut Dragonite off; when the fully-evolved dragon breaks free, Charizard and Dragonair blast it with Flamethrower and Hyper Beam. Even this combination attack fails to slow Dragonite down, and it quickly evades and counters Dragonair's second attempt at a Hyper Beam. Ash has Charizard use Seismic Toss, but Dragonite dodges and hurls Charizard into the woods. As Charizard returns to the air, ready for another round, Clair realizes that Dragonite is too powerful for any one attack to work.
Trying a different approach, Clair orders Dragonair to summon thunder clouds while Charizard keeps Dragonite busy. Another Twister attack from the latter forces Liza and Charla to land their balloon, now carrying Brock and the evacuated wild Pokémon. After a moment, lightning begins striking Dragonite, and Pikachu soon adds a Thunder attack to pin the Dragon Pokémon down. Despite the shocking assault, Dragonite tries to break free with Hyper Beam. In response, Ash has Charizard use Fire Spin to contain the attack. The energy of the Hyper Beam is thus reflected and turned back on Dragonite itself; nonetheless, the furious Pokémon attempts another Hyper Beam. This time, the combined attacks explode in Dragonite's face, sending it plummeting into the water.
As everyone regroups and holds their breath, Dragonite emerges from the water in a flash. Assuming the worst, Ash prepares to have Pikachu launch another Thunder attack, but Clair tells him to wait and shortly after Dragonite's attack rage finally subsides. Having regained its conscious state, Dragonite weeps over the damage it caused to its beloved Holy Land. As it is consoled by the other Pokémon living in the area, Misty and Kaburagi order Team Rocket to leave. Although the trio does so without protest, Kaburagi quickly realizes that they have taken the Dragon Fang from the box. One Thunderbolt attack later, and the Dragon Fang slips from James's hand as Team Rocket blasts off. Ash recovers the Dragon Fang, while Geodude places the Prayer Flame back in the Dragon Shrine.
Later, back at the Blackthorn Gym, Ash and Clair agree to start a new Gym battle the next day, as Charizard gives Ash a 'lucky' Flamethrower to the face.