Lewis Hamilton held off Sebastian Vettel to win the Belgian Grand Prix and trim his rival's championship lead.
1. Lewis Hamilton (Mercedes)
2. Sebastian Vettel (Ferrari)
3. Daniel Ricciardo (Red Bull)
Scroll down for full result and standings
Lewis Hamilton celebrated his 200th Formula One race by reducing Sebastian Vettel's lead at the summit of the championship following his victory at the Belgian Grand Prix.
Twenty-four hours after Hamilton equalled Michael Schumacher's all-time pole position record, the Briton led virtually every lap here in the Ardennes to hold off a late challenge from Vettel, who crossed the line 2.3 seconds behind his title rival.
Hamilton's victory at the Spa-Francorchamps circuit takes him to within seven points of Vettel ahead of next week's Italian Grand Prix. Daniel Ricciardo completed the podium for Red Bull, while Fernando Alonso's miserable season took yet another miserable twist following his seventh retirement of the year.
But Hamilton's victory, his fifth of this see-saw campaign, came under threat with 14 laps remaining after veteran race official Charlie Whiting deployed a safety car following a collision between Force India team-mates Sergio Perez and Esteban Ocon.
"Guys, what the f***?," an incandescent Ocon yelled over the radio. "Honestly. Idiot."
Debris from the Force India cars littered the entry to the high-speed Eau Rouge corner and the ensuing Kemmel Straight, and the safety car was sent out to enable marshals to clear the danger.
But Hamilton felt aggrieved that the decision would cost him victory, particularly with Vettel sporting the ultrasoft tyre - the quickest of the three compounds available this weekend - while he was on the soft, the slowest.
''Why have they got the safety car out?,'' a disgruntled Hamilton said over the radio. ''There is literally no debris anywhere. That's a BS [bulls***] call from the stewards."
Hamilton managed to hold off Vettel for what could prove to be a crucial victory. Indeed his rival would have moved 21 points clear had he managed to win. As it is, the gap stands at seven ahead of next week's Italian Grand Prix.
"It felt a bit like NASCAR when they kept putting the safety car out for no reason," Hamilton said afterwards.
"The front wing from the Force India was clear after we slowed down, and they could have done a VSC [Virtual Safety Car] period, but I guess they wanted to see a race. That was for sure the reason they did that. It was unnecessary.
"There was hardly any debris. We did all those laps behind the safety car, and it just opened up doors. In the heat of the moment I am frustrated. I did not have the ultrasoft tyre, and it feels weighed up against you."
Hamilton spent a nerve-jangling four laps behind the safety car, and just as he did in Azerbaijan earlier this summer, and within his rights, bunched up the pack ahead of the re-start.
On that occasion in Baku, Vettel hit Hamilton in the rear, and then drove alongside his rival before banging wheels. There was no such repeat here, but Vettel knew passing Hamilton at the re-start would amount to his best chance of victory.
Vettel was within centimetres of Hamilton's Mercedes as they sped up Eau Rouge and on to the Kemmel Straight at 200mph. Vettel then dived to Hamilton's left, but the British driver placed his car in the middle of the track and the Ferrari man was unable to find a way past at Les Combes.
It was an expert piece of defensive driving from Hamilton, which would - despite Vettel's best efforts in the closing stages - enable him to win the race and get his title charge back on track.
Not Classified
Fastest Lap: Sebastian Vettel 1min 46.577secs on Lap 41
Drivers:
1 Sebastian Vettel (Ger) Ferrari 220pts
2 Lewis Hamilton (Gbr) Mercedes GP 213
3 Valtteri Bottas (Fin) Mercedes GP 179
4 Daniel Ricciardo (Aus) Red Bull 132
5 Kimi Raikkonen (Fin) Ferrari 128
6 Max Verstappen (Ned) Red Bull 67
7 Sergio Perez (Mex) Force India 56
8 Esteban Ocon (Fra) Force India 47
9 Carlos Sainz (Spa) Scuderia Toro Rosso 36
10 Nico Hulkenberg (Ger) Renault 34
11 Felipe Massa (Bra) Williams 27
12 Romain Grosjean (Fra) Haas F1 24
13 Lance Stroll (Can) Williams 18
14 Kevin Magnussen (Den) Haas F1 11
15 Fernando Alonso (Spa) McLaren 10
16 Pascal Wehrlein (Ger) Sauber-Ferrari 5
17 Daniil Kvyat (Rus) Scuderia Toro Rosso 4
18 Stoffel Vandoorne (Bel) McLaren 1
19 Jolyon Palmer (Gbr) Renault 0
=19 Marcus Ericsson (Swe) Sauber-Ferrari 0
=19 Antonio Giovinazzi (Ita) Haas F1 0
=19 Paul di Resta (Gbr) Williams 0
=19 Jenson Button (Gbr) McLaren 0
Manufacturers:
1 Mercedes GP 392pts
2 Ferrari 348
3 Red Bull 199
4 Force India 103
5 Williams 45
6 Scuderia Toro Rosso 40
7 Haas F1 35
8 Renault 34
9 McLaren 11
10 Sauber-Ferrari 5