Sebastian Vettel resistiu a forte pressão durante toda a corrida, cruzou a linha de chegada em primeiro, mas por causa de um erro foi punido com a perda de 5 segundos e teve de ceder a Lewis Hamilton a vitória no GP do Canada de 2019. Na volta 48, o piloto alemão errou na entrada da curva 4, passou pela grama e voltou atravessando a pista e obrigando Hamilton a frear para evitar a batida. A Comissão de Corridas considerou que Vettel fez o retorno de modo inseguro e, durante a volta 54 anunciou a punção. A decisão praticamente decidiu a corrida, pois nessa altura a diferença entre os dois pilotos nunca passava de 1s8.
O desfecho da corrida proporcionou cenas inéditas e históricas na Fórmula. Primeiro, Vettel se recusou a levar o carro até à posição de 2º colocado diante do pódio. Depois, percorreu todo paddock, sem passar pela pesagem, aparentemente com a intenção de cobrar uma explicação da Comissão de Corrida. Após algum tempo, foi convencido pelos fiscais da FIA a subir ao pódio, mas no caminho demonstrou mais uma vez o seu descontentamento, trocando as placas de posições. Colocou de segundo lugar diante do carro de Hamilton e a de 1º onde veria estar dele. No pódio, Vettel manteve o ar carrancudo e não fez nenhuma comemoração. Quando Hamilton era entrevistado e recebia vaias da torcida da Ferrari, ele interveio para dizer que quem deveria ser vaiado não era o piloto da Mercedes, mas a Comissão de Corrida.
Vettel completou as 70 voltas do Circuito Gilles Villeneuve em 1h29m05s742, mas com a punição passou a 1h29m10s742, superado por Lewis Hamilton que fez o percurso em 1h29.07s084. Foi a 5ª vitória no campeonato e a 78ª na carreira de Hamilton e a 5ª vitória d a Mercedes na temporada. Charles Leclerc foi o terceiro colocado, com 1m29m1s780. Valtteri Bottas, da Mercedes, repetiu tática da corrida da Austrália e na volta 67 colocou pneus macios para, na 68 marcar o giro mais rápido da corrida, com 1m13s078, ganhar o ponto extra.
A corrida começou com alteração no grid, com todos os pilotos a partir da 9ª colocação ganhando uma posição, porque Kevin Magnussen teve de largar da pit lane. Ainda no grid, os mecânicos da Mercedes se aglomeraram em torno do carro de Hamilton, para resolver um problema de vazamento de óleo que não pode ser corrigido na garagem.
A largada da corrida, numa pista de 50 graus, com os três primeiros usando pneus médios, foi tranquila, sem nenhum incidente. Vettel manteve a pole e Hamilton se segurou bem e se livrou de um ataque de Leclerc, enquanto Hulkenberg tomava o 6º lugar de Bottas e no pelotão intermediário Stroll e Kvyat ganhavam três posições. Ainda na primeira volta, tocado pelos dois carros da Alfa Romeo, Alexander Albon teve de ir aos boxes, para trocar a asa dianteira.
Depois de 20 voltas os 10 primeiros colocados eram Vettel, Hamilton, Leclerc, Bottas, Verstappen, Ricciardo, Hulkenberg, Stroll, Gasly e Giovinazzi. Na volta 22, Bottas reclamou da traseira do carro, que provocava desgaste dos pneus, é o fim. Vettel fez sua única parada na volta 26, colocando pneus duros; Hamilton parou na 28 e Bottas na 31, também passando aos compostos de faixa branca. Na volta 33, com a parada de Leclerc, os líderes retomaram as posições originais e o monegasco, que voltava em 3º, era superado por Verstappen. Na volta 35, metade da corrida, os primeiros eram Vettel, Hamilton, Leclerc, Verstappen, Ricciardo, Bottas, Hulkenberg, Stroll, Gasly e Sainz. Na volta 39, depois de intensa pressão, Bottas toma o 5º lugar de Ricciardo.
A partir da volta 40, Hamilton baixou várias vezes a vantagem de Vettel para menos de um segundo, mas mesmo de asa aberta não conseguiu ultrapassar o alemão. Apesar disso, ele não desistiu e a ameaça deve ter sido uma das razões pelo erro de Vettel, na curva 4, na volta 48, que decidiu a corrida. Mesmo sabendo que a vitória estava caindo no seu colo, Hamilton continuou a pressionar, tentando ganhar na pista, mas não teve êxito. Na volta 67, Bottas foi chamado ao box para trocar os pneus duros pelos macios, para tentar a volta mais rápida e na volta seguinte fez 1m13s078, batendo recorde da pista, que era de Rubens Barrichello.
O resultado final da corrida foi o seguinte:
| Posição | Piloto | Equipe | Tempo | Incidentes |
| 1º | Lewis Hamilton | Mercedes | 1h29m07s084 | |
| 2º | Sebastian Vettel | Ferrari | 1h29m10s742 | |
| 3º | Charles Leclerc | Ferrari | 1h29m11s980 | |
| 4º | Valtteri Bottas | Mercedes | 1h29m58s127 | |
| 5º | Max Verstappen | Red Bull | 1h30m04s739 | |
| 6º | Daniel Ricciardo | Renault | 1 volta | |
| 7º | Nico Hulkenberg | Renault | 1 volta | |
| 8º | Pierre Gasly | Red Bull | 1 volta | |
| 9º | Lance Stroll | Racing Point | 1 volta | |
| 10º | Daniil Kvyat | Toro Rosso | 1 volta | |
| 11º | Carlos Sainz Jr | McLaren | 1 volta | |
| 12º | Sergio Perez | Racing Point | 1 volta | |
| 13º | Antonio Giovinazzi | Alfa Romeo | 1 volta | |
| 14º | Romain Grosjean | Haas | 1 volta | |
| 15º | Kimi Raikkonen | Alfa Romeo | 1 volta | |
| 16º | George Russell | Williams | 2 voltas | |
| 17º | Kevin Magnussen | Haas | 2 voltas | |
| 18º | Robert Kubica | Williams | 3 voltas | |
| Não completaram | ||||
| Alexander Albon | Toro Rosso | 59 | ||
| Lando Norris | McLaren | 8 | ||
Postado em: Noticia Destaque