カナダGP決勝は70周で争われた。ハミルトンはポールポジションからスタートして首位を守り、ボッタスが2番手に浮上した。ベッテルは1コーナー付近でフェルスタッペンと接触し、フロントウイングを損傷して早々のピットインを強いられた。レース序盤の展開により、フェラーリの優勝争いの計画はすぐに変わった。
1周目のアクシデントはグロージャンとサインツの接触から始まり、その後マッサも巻き込まれた。サインツとマッサはともにリタイアしたが、グロージャンはピットに戻ってノーズを交換し、走行を続けた。セーフティカーが導入された。フェルスタッペンは一時上位に進出したものの、10周目にパワーユニットの故障で停止した。
損傷したフロントウイングを交換したベッテルは後方から追い上げ、速いペースで徐々に上位へ戻った。フェラーリはピットインとタイヤ戦略で損失を取り戻そうとしたが、モントリオールでコース上の順位を回復するのは容易ではなかった。ベッテルは最終的に4位でフィニッシュした。
リカルドは3位を守り、レッドブルに表彰台をもたらした。ボッタスは安定してチームメイトに続き、メルセデスは2017年シーズン初のワンツーフィニッシュを達成した。ハミルトンはポールポジションから終始首位を走り、シーズン3勝目を挙げた。
フォース・インディアのペレスとオコンは、ともに5位を争った。チームはより速いオコンを前に出すようペレスに求めたが、順位の入れ替えは実現しなかった。その後もオコンは追い抜きを試みたが成功せず、最終的にペレスが5位、オコンが6位となった。2人の関係はレース後の注目点となった。

アロンソは終盤も最後の入賞圏である10番手を走っていたが、66周を終えたところでパワーユニットの故障によりリタイアした。その後はグランドスタンドに上がって応援するファンと交流し、レース用グローブを観客に贈った。
ストロールは9位でフィニッシュし、ウィリアムズでF1キャリア初ポイントを獲得した。グロージャンは10位だった。ライコネンはブレーキの問題を抱えて7位となり、クビアトは54周目にリタイアした。フェルスタッペン、マッサ、サインツも完走できなかった。
下の表にF1公式の最終順位、タイムまたはタイム差、ポイントを掲載している。ハミルトンが優勝し、ボッタスが2位、リカルドが3位となった。ベッテルは1周目の損傷から4位まで挽回した。アロンソは66周を走行してリタイア扱いとなり、クビアト、フェルスタッペン、マッサ、サインツもリタイアした。
| 順位 | ドライバー | チーム | タイム/差 | ポイント |
|---|---|---|---|---|
| 1 | ルイス・ハミルトン | メルセデス | 1:33:05.154 | 25 |
| 2 | バルテリ・ボッタス | メルセデス | 70周、+19.783s | 18 |
| 3 | ダニエル・リカルド | レッドブル | 70周、+35.297s | 15 |
| 4 | セバスチャン・ベッテル | フェラーリ | 70周、+35.907s | 12 |
| 5 | セルジオ・ペレス | フォース・インディア | 70周、+40.476s | 10 |
| 6 | エステバン・オコン | フォース・インディア | 70周、+40.716s | 8 |
| 7 | キミ・ライコネン | フェラーリ | 70周、+58.632s | 6 |
| 8 | ニコ・ヒュルケンベルグ | ルノー | 70周、+60.374s | 4 |
| 9 | ランス・ストロール | ウィリアムズ | 69周、+1周 | 2 |
| 10 | ロマン・グロージャン | ハース | 69周、+1周 | 1 |
| 11 | ジョリオン・パーマー | ルノー | 69周、+1周 | 0 |
| 12 | ケビン・マグヌッセン | ハース | 69周、+1周 | 0 |
| 13 | マーカス・エリクソン | ザウバー | 69周、+1周 | 0 |
| 14 | ストフェル・バンドーン | マクラーレン | 69周、+1周 | 0 |
| 15 | パスカル・ウェーレイン | ザウバー | 68周、+2周 | 0 |
| 16 | フェルナンド・アロンソ | マクラーレン | DNF | 0 |
| リタイア | ダニール・クビアト | トロロッソ | DNF | 0 |
| リタイア | マックス・フェルスタッペン | レッドブル | DNF | 0 |
| リタイア | フェリペ・マッサ | ウィリアムズ | DNF | 0 |
| リタイア | カルロス・サインツ | トロロッソ | DNF | 0 |