Red Bull's Max Verstappen went from 14th to first to take a dominant one-two win in Sunday’s Belgian Grand Prix and accelerate his run towards a second Formula One title.

The Dutch driver took the chequered flag 17.8 seconds ahead of his Mexican team mate Sergio Perez, with Spaniard Carlos Sainz a distant third in his Ferrari after starting on pole position.

"Max was on another planet today, he was flying, he was untouchable," said Perez.

The win was Verstappen’s ninth from 14 races so far this season and put him a massive 93 points clear of Perez, who moves into second place overall behind his team mate with eight rounds remaining.

Ferrari's Charles Leclerc, who started one place behind Verstappen in 15th after collecting similar engine and gearbox-related grid drops, finished fifth on the road but was demoted to sixth after a penalty for speeding in the pitlane.

The Monegasque is now third overall, 98 points behind Verstappen who also took a bonus point for the fastest lap.

Verstappen's home Dutch Grand Prix at Zandvoort follows next weekend.

"The car was a rocket ship all weekend," he said after his second successive win at Spa, although last year's victory was after just three laps splashing through the rain behind the safety car.

"It was quite a hectic first lap to try and stay out of trouble, so many things were happening in front of me, but once we settled in... yeah, the car was really on rails," added Verstappen.

"Once we were in the lead, it was all about managing everything and this whole weekend has been incredible."

Verstappen had been comfortably quickest in Saturday’s qualifying but grid penalties meant Sainz inherited pole position.

The Spaniard kept the lead at the start, with Perez slow in getting away alongside as Alpine’s Fernando Alonso and Mercedes’ Lewis Hamilton slotted into second and third.

The former McLaren team mates then made contact as seven-times world champion Hamilton tried to overtake around the outsides into the Les Combes chicane.

Hamilton, who drew a rebuke from Alonso, accepted responsibility for the collision and retired due to damage from the incident.

Further behind, Valtteri Bottas beached his Alfa Romeo in the gravel while trying to avoid the spinning Williams of Nicholas Latifi in an incident that brought out the safety car.

Verstappen, meanwhile, rocketed off the line and was 10th shortly after the start.

He was eighth by the second lap when the safety car came out and swept past Perez to lead after 12 of 44 laps.

"It's been a weekend I couldn't imagine before," said Versatappen. "But we want more of them... we'll see next weekend what we can do."

George Russell was fourth for Mercedes, with Alonso fifth.

Esteban Ocon took seventh for Alpine, ahead of Aston Martin's Sebastian Vettel and AlphaTauri's Pierre Gasly with Alex Albon securing the final point for Williams in a race he ranked as one of his toughest.