Ferrari's Charles Leclerc claimed an emotional maiden Formula One victory at the Belgian Grand Prix on a weekend overshadowed by the death of F2 driver Anthoine Hubert.

Hubert, 22, died on Saturday after he was involved in a multi-car collision during the feature F2 event at Spa, the news prompting a host of tributes from the world of motorsport.

Sunday's F1 race was preceded by a minute's silence in honour of the young Frenchman, while there was a standing ovation 19 laps into the race in reference to the number of Hubert.

Leclerc, a year younger than Hubert, started on pole as part of a Ferrari 1-2 and ultimately finished first ahead of the Mercedes of Lewis Hamilton and Valtteri Bottas, with Sebastian Vettel forced to settle for fourth.

Hamilton closed in quickly over the final laps, but Leclerc - racing with 'RIP Tonio' on his helmet - was a deserving winner by a slender margin.

The race winner pulled clear of Vettel following an early stint under the safety car brought about by Max Verstappen's first-lap retirement.

Vettel benefited significantly from the fact he pitted six laps earlier than Leclerc, the German briefly taking the lead from his Ferrari colleague.

However, Leclerc boasted much greater pace in the laps that immediately followed his stop and was allowed to retake first place as Vettel followed team orders by allowing his faster team-mate through on lap 27.

Leclerc duly re-established a comfortable advantage and his hopes of victory were boosted as Vettel held up a surging Hamilton for a few laps before being passed.

Ferrari opted to bring Vettel in for a second stop soon after, lifting Bottas on to the podium, and Hamilton's late charge was not enough as Leclerc held on.