Red Bull's Max Verstappen won a rain-delayed and shortened sprint race from pole position at the Belgian Grand Prix on Saturday to stretch his Formula One lead to 118 points.

Australian rookie Oscar Piastri started and finished second for McLaren, after leading briefly during a safety car period, with Frenchman Pierre Gasly a morale-boosting third for misfiring Alpine.

Verstappen's closest rival and teammate Sergio Perez retired after a clash with Mercedes's Lewis Hamilton, who crossed the line fourth but ended up seventh after a five-second time penalty.