A near-perfect start paved the way for Piastri to claim victory in the Hungarian Grand Prix over team-mate Lando Norris.
The Aussie seized the inside line at the first corner before strategy calls saw him run second to Norris for a time.
However, team orders were employed, Piastri reclaiming the top spot that had been taken from him earlier in the race – much to Norris’ disdain.
McLaren still managed a one-two, with Norris second while Lewis Hamilton rounded out the podium.
As the lights went out, Norris swept across the road to defend from Piastri, only for the Australian to slither up the inside at the first corner.
Three-wide into the right-hander, Verstappen went around the outside, leaving the race track in the process as he claimed second from Norris.
The pole sitter briefly fell behind Lewis Hamilton, who was pushed wide by Verstappen at Turn 2 and allowed the McLaren back through into third.
Piastri held a 1.6s advantage over Verstappen at the end of the opening lap, the Dutchman noted for leaving the track at the race start.
Daniel Ricciardo had a poor start, slipping two places to 11th, with RB team-mate Yuki Tsunoda also falling back two places.
At the start of Lap 4, Verstappen slowed exiting Turn 1 as he allowed Norris through to second place.
The opening corner incident had been under investigation, officials promptly declaring that no further action was needed given the redress.
However, Verstappen was far from pleased, rationalising that, since he was pushed off the road by Norris, he would race the same way.
In reality, Norris was simply negotiating his way around the first corner with Piastri on his right, the Brit with nowhere to go leaving Verstappen in turn with little room.
At the end of Lap 7, Ricciardo followed Fernando Alonso into the lane for his first stop.
He’d climbed back up to ninth before he pulled into the lane, the move designed to cover off Alex Albon and Kevin Magnussen who’d stopped a lap earlier.
The Australian lost out, Magnussen completing the move at Turn 2 as they began Lap 8.
Out front, the leaders didn’t react, with Piastri holding a three-second advantage over Norris after 12 laps, with Verstappen a further 2.5s back.
After 15 laps, Verstappen was losing contact with Norris ahead, the gap opening to four seconds as the two McLarens inched away.
Lewis Hamilton boxed after 16 laps, swapping onto the hard tyres in the hope of undercutting Verstappen for third.
Mercedes triggered the leaders into action, McLaren calling in Norris to protect him from the threat Hamilton posed.
Verstappen did not react, while Piastri also carried on for another tour, pitting at the end of Lap 18.
A 2.5s stationary time saw the Australian rejoin fourth on the road, but the first to have taken service.
Norris remained an effective second, just over two seconds back from his McLaren team-mate.
Verstappen and Carlos Sainz stopped after 22 laps, the Red Bull Racing driver stationary for three seconds as he rejoined ahead of Tsunoda (who was yet to stop) in a net sixth.
Leclerc was the last of the front runners to stop, doing so on Lap 25 to slot into fifth behind Verstappen.
The race then settled down; Hamilton’s charge towards Norris slowed and then stalled while Verstappen reeled in the Mercedes driver in.
A second stop from Ricciardo dropped him well down the order, the RB driver 18th after 30 laps, clearly on a three-stop strategy.
It saw him move back ahead of Albon and Hulkenberg as the midfield battle ebbed and flowed with the various strategies in operation.
The battle between Verstappen and Hamilton developed on Lap 35, Hamilton running wide at Turn 1 before the Red Bull driver was similarly wide at Turn 2 to cover the Mercedes driver’s blushes.
Having held a four-second advantage at points, Piastri’s lead had been reduced to 1.5s to Norris.
The Brit was running around a tenth per lap faster than his team-mate as the race leader worked through a trio of backmarkers.
Once he was clear of the traffic, his times normalised with Norris’ once more, the gap standing at around 1.3s.
The Hamilton versus Verstappen battle continued, the pair slowing such that Charles Leclerc began to reel the duo in.
Mercedes pulled the pin on Lap 40, boxing Hamilton with Leclerc following him in.
That development was not well received by Verstappen, who vented his frustration over the radio.
McLaren made the decision not to cover Hamilton or Leclerc, reasoning it was an early stop that would compromise its race later.
After 45 laps, Norris did pit.
He was two seconds back from Piastri out front, feeding back out into fourth.
Piastri was reassured by the team, which informed him that the move was to cover off Hamilton and that the situation would be “managed” if necessary later.
The Australian pitted after 47 laps to have a set of medium tyres bolted on, rejoining behind Norris, who’d been told to hand the lead back to his team-mate through: “We’d like to re-establish the order at your convenience”.
Verstappen pitted for the final time at the end of Lap 49, rejoining in fifth.
Meanwhile the message to Piastri was “when you get to Lando” he’d be waved through, but the onus was on the Australian to catch his team-mate without costing him unnecessary race time.
The gap between the pair was hovering around 3.5 seconds, with Piastri eight seconds clear of Hamilton in third.
Verstappen meanwhile was furious with the Red Bull Racing pit wall as he attacked Leclerc for fourth place on Lap 55.
Race leader Norris was instructed to let Piastri through, though he argued the team should have pitted his team-mate first.
Second in the championship, victory for Norris was worth an additional seven points in his quest against Verstappen.
The Dutchman had risen to fourth, passing Leclerc into Turn 1 on Lap 57.
Piastri had slipped 4.3 seconds back from his team-mate on Lap 58.
Verstappen’s frustration finally boiled over on Lap 62, tagging Hamilton as he slithered up the inside of the Mercedes at Turn 1.
The Red Bull Racing was launched over the front wheel of Hamilton’s car, sending him wide and dropping him to fifth but lucky not to have retired.
At McLaren, the situation was becoming heated as Norris refused to cede the place to Piastri.
His advantage had extended to more than six seconds with five laps remaining.
The team took to pleading with Norris to slow down and let his team-mate through, which he eventually did.
Out of the final corner, he slowed as he started Lap 68 to allow Piastri back through.
Norris latched on to the back of his team-mate, pressuring him for the remainder of the race.
Piastri hung on, winning the Hungarian Grand Prix from Norris with Hamilton a distant third.
Leclerc was fourth with Verstappen slumping to fifth, while Ricciardo could do no better than 12th.
Behind Verstappen, the top 10 was completed by Sainz, Sergio Perez, George Russell, Tsunoda, and Lance Stroll.
Red Bull Racing’s advantage in the constructors’ championship has now shrunk to 51 points, while Verstappen maintains a 76 point lead over Norris.