Oscar Piastri kept McLaren Formula 1 team-mate Lando Norris at arm's length to win the Belgian Grand Prix and extend his 2025 championship lead to 16 points.
Heavy rain on Sunday morning and in the build-up to the race offered the promise of an entertaining and mixed-up grand prix after a tepid sprint race at Spa a day earlier.
But so heavy was the rain that the race was suspended before it started, with the first lap taking place an hour and 20 minutes after the formation lap had commenced, and the clear skies that arrived during the delay meant that the track was not far from slick-tyre crossover territory by the time the race got underway in ernest.
And for a second day in a row, the race was effectively won on the first racing lap.
Polesitter Norris led the field away on a rolling start - after the best part of five laps behind the safety car - but Piastri stalked him into the La Source hairpin and stayed with his team-mate on the run up through Eau Rouge/Raidillon before making a move along the Kemmel Straight.
Piastri quickly gapped Norris, who struggled in the early going before stabilising the gap in the 1-2s range.
And the two McLarens remained at a similar pace right up until the switch to slicks, where Piastri as race leader was called in a lap earlier than Norris.
That meant by the time Norris had emerged from the pits the following lap he was seven seconds behind Piastri, not helped by a slow left-front tyre change, but with a potential tyre-life advantage as he took up engineer Will Joseph's invitation to run the hard tyre while Piastri (and the rest of the field) opted for the medium.
That tyre life conundrum kept the race tense - Piastri reported early on that he could feel a bit of degradation and that he thought it would be difficult to get to the finish - but the medium ultimately held out.
Norris did make significant inroads into Piastri's advantage but a couple of significant errors - one at Pouhon and another, a lock-up, at La Source - cost him time and momentum in his pursuit.
He'd got the gap down below four seconds with two laps remaining but then slewed wide exiting La Source and effectively gave up the fight thereafter, leaving Piastri to take his sixth win of the season and allowing him to extend his championship lead to 16 points over Norris.
Charles Leclerc put up a particularly spirited defence of third against Max Verstappen in the brief spell of wet-weather running and that paid the Ferrari driver back handsomely, as he had enough pace in hand in the dry conditions - which Ferrari had leaned its car set-up further towards - to keep the Red Bull driver at bay.
George Russell was a lonely fifth for Mercedes.
Williams scored its best race finish since the Emilia Romagna GP at Imola in mid-May as Alex Albon kept Lewis Hamilton at bay for sixth place.
Ferrari driver Hamilton had charged in the opening stages of the race - Ferrari having made changes to his car pre-race to suit the wetter conditions - and was the first driver to swap over to slick tyres at the end of lap 12, a strategy replicated by three other drivers.
He also dispatched Liam Lawson's Racing Bulls car with ease once both were on slicks, but his challenge faded as he caught up to Albon's Williams.
Of the three drivers to match Hamilton's early switch to slicks, only one really gained from doing so.
Fernando Alonso was never likely to be a factor in an Aston Martin that has struggled for pace all weekend - he ended up 17th after a second stop - while Nico Hulkenberg was running 10th but then pitted for a second time himself as his pace faded.
That promoted Pierre Gasly to 10th, and he was rewarded with an unlikely point for keeping Yuki Tsunoda and Ollie Bearman at bay for more than half the race - beating Bearman over the line by less than half a second.
Lawson (eighth) and Gabriel Bortoleto - who'd been handed ninth position by Hulkenberg in an attempt to hunt down Lawson - were the other points finishers.
Belgian GP classification
1 Oscar Piastri (McLaren)
2 Lando Norris (McLaren), +3.415s
3 Charles Leclerc (Ferrari), +20.185s
4 Max Verstappen (Red Bull), +21.731s
5 George Russell (Mercedes), +34.863s
6 Alex Albon (Williams), +39.926s
7 Lewis Hamilton (Ferrari), +40.679s
8 Liam Lawson (Racing Bulls), +52.033s
9 Gabriel Bortoleto (Sauber), +56.434s
10 Pierre Gasly (Alpine), +1m12.714s
11 Ollie Bearman (Haas), +1m13.145s
12 Nico Hulkenberg (Sauber), +1m13.628s
13 Yuki Tsunoda (Red Bull), +1m15.395s
14 Lance Stroll (Aston Martin), +1m19.831s
15 Esteban Ocon (Haas), +1m26.063s
16 Kimi Antonelli (Mercedes), +1m26.721s
17 Fernando Alonso (Aston Martin), +1m27.924s
18 Carlos Sainz (Williams), +1m32.024s
19 Franco Colapinto (Alpine), +1m35.250s
20 Isack Hadjar (Racing Bulls), +1 lap