Lando Norris kept Oscar Piastri at bay during a tense, thrilling finish to the Hungarian Grand Prix to win on an offset strategy and cut his deficit to his championship-leading McLaren Formula 1 team-mate.
While the pair trailed Ferrari polesitter Charles Leclerc - with Mercedes' George Russell an early interloper, too - for a significant chunk of the race, the battle for victory ultimately boiled down to a straight fight between the two McLarens, with the two-stopping Piastri hunting down Norris on a one-stop strategy.
Norris dropped from third to fifth at the start as he was boxed in behind Piastri and Leclerc into Turn 1, but repassed Fernando Alonso's Aston Martin quickly enough and then caught up to the back of Russell before the first three cars on the road pitted.
During that first stint Norris had been told a five-lap shorter than anticipated first stint on his 'Plan A' strategy - presumably a two-stop - was likely, but once in clear air he was asked by engineer Will Joseph about the possibility of extending his stint and switching to a one-stop and a long second stint on the hard tyre.
Norris found this agreeable and was told "we're going to try it", eventually pitting at the end of lap 31 and dropping back to fourth.
That became second when Leclerc - much to his chagrin - pitted early in the second stint to cover off a possible Piastri undercut, followed five laps later in the end by Piastri, and Norris then got a massive break when Russell pitted just as he'd caught the Mercedes driver.
Leclerc was still in the mix at this point but it became clear quickly, as Norris extended his lead on older hard tyres, that the Ferrari's pace in the final stint was poor - and Piastri dispatched him with ease before setting off after Norris.
What had been a gap of 8.5 seconds when Piastri passed Leclerc on lap 51 was swiftly whittled down as the McLarens came through lapped traffic, and Piastri was in DRS range of his team-mate with six laps remaining.
But Norris - without any DRS assistance from the lapped cars he was passing - held firm as Piastri's two chances to attack failed to come off.
Piastri was too far back on the first of those, at the start of lap 68, as a result of oversteer out of the final corner, then a lap later snatched the brake as he dived for the inside for Turn 1, locking up significantly to avoid clobbering Norris, after which McLaren issued a message to say "remember how we go racing".
That proved to be that, as Piastri was slightly too far back to attack into Turn 1 on the final lap, and Norris then defended the middle of the road slightly on the exit of Turn 2 exit to ensure he stayed ahead.

A third win in four races means Norris is now nine points behind Piastri as F1 enters its four-week summer break.
Leclerc, who dropped back dramatically in that final stint, became increasingly frustrated by Ferrari's strategy and exploded soon after he had been passed by Piastri.
"This is so incredibly frustrating. We have lost all competitiveness. You just had to listen to me. I would have found a different way of managing these issues. Now it's just undriveable. Undriveable. It will be a miracle if we finish on the podium," he said over the team radio on lap 53 of 70.
And there was no miracle. Just five laps after that message he had Russell in DRS range behind and, while the benefit of DRS of his own from lapped traffic along the main straight helped Leclerc stay ahead for a handful more laps, in the end the Mercedes came by at Turn 1 - albeit after a late move to the inside from Leclerc in the braking zone, his second in as many laps, which earned him a five-second penalty that did not affect his fourth-place finishing position.
Much of the midfield expected eighth-place starter Max Verstappen to come through the pack early on and settle into fifth place. Instead, he went backwards.
Verstappen dropped one place at the start but had climbed back up to seventh at the end of his first stint, and by the time the leading midfielders had pitted for their one and only stops he was fifth on the road.
But staying ahead would have required a mammoth stint on the hard tyres and he ultimately bailed for a second stop, rejoined in ninth, and made little impression on the Racing Bulls of Liam Lawson in the closing stages.
Verstappen also faces a post-race investigation for a pass on Lewis Hamilton as he was passing cars that were yet to pit in the second stint, with Hamilton forced to take to the runoff at Turn 4 as Verstappen shaped for the inside line.
Instead, Alonso led the best of the rest battle to score his best result of the season, with his fifth and Lance Stroll's seventh place elevating Aston Martin to sixth in the constructors' standings ahead of Sauber - despite another excellent race from rookie Gabriele Bortoleto that netted sixth place.
Kimi Antonelli just held off Isack Hadjar and Hamilton in the final stages to finish 10th and score his first point since his podium in the Canadian GP in mid-June.
Ollie Bearman was the only driver to retire from the race. He complained in the latter stages that "this car is broken" and was told by Haas he had significant aero damage at the rear, then headed for the garage a few laps later.
Race result
1 Lando Norris (McLaren)
2 Oscar Piastri (McLaren), +0.698s
3 George Russell (Mercedes), +21.916s
4 Charles Leclerc (Ferrari), +42.560s
5 Fernando Alonso (Aston Martin), +59.040s
6 Gabriel Bortoleto (Sauber), +1m06.169s
7 Lance Stroll (Aston Martin), +1m08.174s
8 Liam Lawson (Racing Bulls), +1m09.451s
9 Max Verstappen (Red Bull), +1m12.645s
10 Kimi Antonelli (Mercedes), +1 lap
11 Isack Hadjar (Racing Bulls), +1 lap
12 Lewis Hamilton (Ferrari), +1 lap
13 Nico Hulkenberg (Sauber), +1 lap
14 Carlos Sainz (Williams), +1 lap
15 Alex Albon (Williams), +1 lap
16 Esteban Ocon (Haas), +1 lap
17 Yuki Tsunoda (Racing Bulls), +1 lap
18 Franco Colapinto (Alpine), +1 lap
19 Pierre Gasly (Alpine). +1 lap
DNF Ollie Bearman (Haas)