Defending champion Lewis Hamilton won the Canadian Grand Prix on Sunday to extend his overall lead after Ferrari driver Sebastian Vettel committed yet another error under pressure.

It was Hamilton's fifth win in seven races and 78th overall for the five-time F1 champion. Vettel crossed the line first but Hamilton won after a time penalty for Vettel.

Vettel was leading from pole position with a little more than 20 laps remaining. But with Hamilton closing in, Vettel veered onto the grass before swerving back onto the track and forcing Hamilton to slam on his brakes.

Race stewards handed the German a five-second time penalty for unsafe re-entry.

An exasperated and clearly angry Vettel said on team radio "they're stealing this race from us" but it was another blunder from the four-time F1 champion following multiple mistakes in losing the past two championships to Hamilton.