

スタート直後、16番グリッドからスタートしたストロールが大きく順位アップしたが、
12番スタートのハートレーの前に出ようとした際に両者がクラッシュするというアクシデントが発生。
2台はここでリタイアとなり、セーフティカーが導入されるという展開となる。
5周目にレースが再開されると9番手のサインツを追い抜こうとした10番手のペレスが接触。ペレスが大きくコースオフして順位を落としてしまうというシーンも展開された。
こうした混乱の中、ザウバーのルクレールが10番手、14番グリッドからスタートしたアロンソが11番手に、
規定数を超えるPU投入によるグリッド降格ペナルティを受けて19番グリッドからスタートしたガスリーも13番手に順位を上げた。
その後トップのベッテルは2番手のボッタスとのギャップを開きながら安定したペースでレースをリードしていく。
ガスリーはその後コース上でハースのケビン・マグヌッセンをとらえて12番手に順位を上げる。
レースが16周目に入ったところでフェルスタッペンとハミルトンがピットに入り、スーパーソフトタイヤに交換するとリカルドもその次の周にこれに続いた。
リカルドはこのピット作業でハミルトンの前に出ることに成功。事実上の4番手に浮上する。
20周前後に中団グループ勢なども続々とピットに入ってスーパーソフトタイヤへの交換を行い始めるが、
トップのベッテル、ボッタス、そして暫定3番手を走行するライコネンはピットインのタイミングを遅らせてスタートタイヤのままで走行を続ける。
その後方ではやはりタイヤ交換を行っていないガスリー、マグヌッセン、グロージャンが暫定の7番手、8番手、9番手に順位を上げた状態となる。
だがマグヌッセンは22周目、ガスリーも24周目にピットに向かい、ガスリーはその時点で暫定13番手に位置する。
33周目に3番手を走行していたライコネンがピットイン。
ライコネンはハミルトンの後ろ6番手でのコース復帰となった。
37周目には2番手走行のボッタスがピットイン。38周目にはトップのベッテルもこれに続き、いずれもスーパーソフトに交換する。
この時点で後続ドライバーたちとの間に十分なギャップを築いていた2人は順位を落とすことなく、ベッテルがトップ、ボッタスが2番手のままでコース復帰を果たした。
レースが40周を過ぎたとき、11番手を走行していたアロンソがスローダウン。アロンソはそのままピットに戻り、記念すべき通算300戦目のF1をリタイアで終えることになった。
このアロンソの離脱によりルクレールが11番手、ガスリーが12番手に浮上。50周目にはその時点で9番手に位置していたグロージャンがタイヤ交換のためにピットに入ったことから、ルクレールとガスリーはそれぞれひとつずつ順位を上げた。
その後は大きな変動もなく、ベッテルが先頭のままファイナルラップとなる70周目に入った。
ところが、ここで誤ってチェッカーフラッグが振られるというハプニングが発生。
ルールにより、本来70周で行われるはずだったカナダGP決勝は68周終了時点で正式終了ということになった。
ベッテルは今季第2戦バーレーンGP以来となる今季3勝目を達成。
通算勝利数も50に伸ばした。
ハミルトンがこのレースを5位で終えたことから、ここでベッテルがまたランキングトップに返り咲き、ハミルトンが1ポイント差の2番手に下がっている。