"I think we had very good pace," Vettel said. "I'm looking forward to next week."

The Spa track, nestled in the Ardennes forest, is the longest in F1 at 7 kilometers (4.3 miles) and the race is often full of incident, especially when it rains.

It stayed dry, but there was one heated clash between Force India drivers Sergio Perez and Esteban Ocon, prompting the safety car to come out after they ploughed into each other on lap 30, sending debris onto the track.

Their tense relationship is unlikely to improve anytime soon.

Earlier, they touched wheels as Ocon moved on the outside, with Perez responding by squeezing the Frenchman against the barrier.

Hamilton made a good start to the race on the long climb up to Eau Rouge, with Vettel on his tail.

But Max Verstappen's hopes of a first win this season ended on lap 8 when his Red Bull lost power.

"I can't believe this," the exasperated Verstappen said.

Understandably, given that it is the sixth time this season he has failed to finish the race — and that some 80,000 Dutch fans had crossed the border to cheer him on.

It has been a frustrating season for the 19-year-old Verstappen, who secured a podium with third place in China but has been hit with reliability issues since.

Two-time F1 champion Fernando Alonso was getting exasperated with the lack of pace in his McLaren as he drifted way down the leaderboard, and shouted "no more radio for the rest of the race," after receiving some instructions he didn't want.

Halfway through the 44-lap race, Hamilton led Vettel by 1.3 seconds, with Bottas seven back. Ricciardo got past Bottas after the safety car.

Alonso's race ended when he retired on lap 27, the latest setback in yet another frustrating season as McLaren continues to struggle with Honda engines. The Spanish driver has completed only three races so far.

Behind the leaders, the Ocon-Perez rift deepened.

After bumping on the track at the Azerbaijan GP in June, they did it again, with Ocon's front wing flying off and a tire dropping off Perez's car.

This prompted a furious, expletive-laced outburst from Ocon, who was already unhappy that his team had pitted Perez for new tires ahead of him.

The safety car allowed both Force India cars to pit for repairs. Ocon finished ninth but Perez had to retire just before the end.

The safety car stayed out for four laps, which was too long for Hamilton's liking, and he used a choice expletive of his own to complain.

Drivers worry that their tires lose heat if they stay behind the safety car too long.