Ash and Goh arrive in Shalour City in the Kalos region, with Goh aiming to catch many Kalos Pokémon and Ash participating in a World Coronation Series Battle Festival Challenge. Goh first catches a Binacle, while Ash uses Pikachu against a Trainer named Lob with a Clawitzer. Clawitzer prepares to use Flash Cannon, which Pikachu counters with Thunderbolt, but it is suppressed by Flash Cannon's Steel-type energy. From the stands, another Trainer with a Lucario observes Ash and wonders what he'll do next. Ash decides to switch to another move and has Pikachu use Iron Tail. He dodges Clawitzer's Crabhammer and defeats the Howitzer Pokémon, marking Ash's third consecutive win at the Battle Festival Challenge and increasing his ranking to 1,022, thus being one victory away from entering the Great Class.
Meanwhile, Goh continues catching multiple Pokémon, including different forms of Flabébé. As he heads to the Battle Festival Challenge stadium, when he notices a Flabébé form he doesn't have yet and runs after it. Meanwhile, Ash and his Pokémon are preparing for their next battle, which will rise them to the Great Class if they win. Suddenly, both Ash and Riolu sense an Aura emanating from somewhere nearby, and Riolu leads them to a Lucario, whom Pikachu and Ash quickly recognize as Korrina's. And sure enough, Korrina herself then also shows up, happily greeting Ash. She introduces herself to Ash's Pokémon, especially taking note of Riolu, whom she encourages to grow stronger with Ash. Riolu looks at Korrina's Lucario, its eyes filled with admiration. Korrina tells how she and Ash had an amazing battle once, with Ash being quick to point out that he won. He then ask if she's taking part in the Battle Festival Challenge too, which she confirms, although she's not doing so as a Gym Leader, but as a World Coronation Series participant aiming to beat Leon. She reveals that her rank is 1,001, meaning that she's also just one battle away from Great Class. They both agree to battle each other to see which of them gets to advance to the next class, and Ash tells Riolu to watch Lucario's battle closely.
Elsewhere, Goh continues his search for Pokémon to catch. At first, Raboot doesn't sense any Pokémon nearby, but then suddenly uses Ember towards a bush, causing a Lucario to pop out. However, Goh barely has a chance to pull out a Poké Ball before Lucario's Trainer, Gurkinn, appears and compliments Goh's reflexes. Goh apologizes to Gurkinn for mistaking his Lucario for a wild one and tells him how he's come to Kalos to catch some Pokémon, showing him a list of the ones he's caught so far. Gurkinn is impressed, noting that finding an Orange Flower Flabébé is especially impressive. Goh says that he's only missing a White Flower Flabébé now and asks Gurkinn if he knows the area. Gurkinn confirms this and mentions that his granddaughter is at the Battle Festival Challenge, so he had come to watch. Goh remarks that his friend is there too. As he brings up the fact that they're both from Kanto, Gurkinn remarks that his granddaughter once battled a Kanto Trainer named Ash who had a Pikachu, and Goh immediately points out that Ash is the friend he mentioned.
At the stadium's Rock Field, Ash and Korrina prepare for their two-on-two battle. The crowd cheers for their city's own Gym Leader. Both Pikachu and Riolu express willingness to battle, but Ash tells them to watch from the sidelines this time. Just as Korrina asks Riolu to root for her Lucario and Ash says that Riolu is going to be cheering for him, Goh and Gurkinn enter the stadium stands, with Goh being surprised to learn that Ash is facing Gurkinn's granddaughter.
At Drone Rotom's signal, Ash and Korrina call out their respective Pokémon, Gengar and Mienshao. Mienshao begins the battle with Acrobatics, making a direct hit, before switching to U-turn. Gengar uses Psychic to lift up a boulder in an attempt to block the move, but Mienshao simply leaps over it and scores another hit, before switching out to Lucario. Goh is surprised that Korrina used a move to switch her Pokémon. Lucario uses Bone Rush, which Gengar tries to dodge and counter with Shadow Ball, but Lucario either avoids or blocks all the Shadow Balls before attacking Gengar, easily taking it out of the fight, much to Ash's shock. In the sidelines, Riolu's admiration towards Lucario only grows. Gurkinn tells Goh that Korrina's advantage lies in her and her Pokémon fighting as one, but Goh is confident Ash can win.
As Ash recalls Gengar, Korrina recalls Lucario and sends Mienshao back out, while Ash goes with Dragonite, which Korrina sees as a worthy opponent. The matchup begins with a clash of High Jump Kick and Dragon Claw, which seem evenly matched. Mienshao follows up with Double Slap, which Ash counters by having Dragonite use Dragon Dance. This strategy not only does its intended job of increasing Dragonite's Attack power and Speed, but also uses Mienshao's Double Slap to make Dragonite spin faster and thus repel Mienshao. Korrina tells Mienshao to use High Jump Kick, which connects, but Dragonite makes a swift counterattack with a powered-up Dragon Claw, taking Mienshao out of the fight and making the battle one-on-one.
Korrina recalls Mienshao and sends out Lucario again. Ash asks Korrina to show off Lucario's true power, and she happily complies, touching her Key Stone and Mega Evolving her partner. Goh, who has previously only read about Mega Evolution, is in awe at witnessing it in person for the first time. Gurkinn tells him that Mega Evolution is a phenomenon first discovered in Kalos, which brings out a Pokémon's hidden strength through the Pokémon's bond with a Trainer. Ash reassures Dragonite and has it use Dragon Dance again. Korrina remarks that playing careful isn't really Ash's style and tells Lucario to use Aura Sphere. Dragonite flies up with its increased speed in an attempt to avoid the incoming attack, but the Aura Sphere still heads straight towards it upon being fired. Dragonite's counterattack attempt with Hyper Beam comes in too late, and the Aura Sphere hits its mark. Lucario follows the assault by jumping up and pummeling Dragonite with a series of Power-Up Punches mid-air, eventually sending it crashing down to the rocky battlefield.
Despite all the damage it has taken, Dragonite is still able to stand up. After a moment of thinking, Ash comes up with a plan and tells Dragonite to use Hurricane, surrounding Mega Lucario in powerful winds that send small pieces of rock at it. Korrina fights back by having Lucario launch two simultaneous Aura Spheres in opposite directions, dispersing the Hurricane. Both sides then launch their final attacks, Lucario with Power-Up Punch and Dragonite with Dragon Claw. Both attacks connect, and both Pokémon fall, only to shakily stand back up. After a few tense moments, Lucario falls down and reverts to normal, and Drone Rotom rules Ash as the winner of the match. Ash happily congratulates Dragonite, receiving one of its trademark hugs in return. As a result of this victory, Ash's ranking rises to 921, meaning that he's now in the Great Class. Riolu goes up to Korrina and Lucario, and despite her apologizing for looking uncool with their loss, Riolu is still full of admiration towards Lucario.
Later, Gurkinn congratulates Ash for making it to a higher class, Korrina assures that she's not out of the competition yet, and Goh is still amazed at how moving the battle was. Just when Ash asks Goh how things went with him, a White Flower Flabébé floats by, and Goh rushes after it to catch it.