Max Verstappen de Red Bull logró una tercera victoria en el Gran Premio de Ciudad de México por delante de Lewis Hamilton de Mercedes y su compañero de equipo en Red Bull Sergio Pérez, quien subió por primera vez a un podio en México.
La alegría de la sorprendente pole position de Valtteri Bottas duró poco, ya que Verstappen rodeó el exterior de los dos Mercedes en la primera curva de la primera vuelta. Luego, Daniel Ricciardo de McLaren dio un giro a Bottas en la curva 2 para dejar a Verstappen liderando a Hamilton y luego a Pérez detrás del coche de seguridad, que fue llamado para reiniciar la carrera en la vuelta 5, cuando Bottas cayó al fondo del campo.
El ritmo de Verstappen con los neumáticos medios, en el que todos, excepto Yuki Tsunoda y Esteban Ocon, comenzaron, fue superior al de Hamilton en la primera tanda. Con el británico perdiendo tiempo ante el holandés y su compañero de equipo Pérez, se enfrentó a dificultades en la vuelta 30 y Verstappen siguió en la vuelta 34, emergiendo segundo para convertir a Pérez en el primer mexicano en liderar su carrera en casa.
Pérez entraría por nuevos compuestos duros en la vuelta 41, nueve segundos detrás de Hamilton, y comenzó a sacar trozos de esa brecha para dejarla en solo un segundo en la vuelta 60 de la 71. Grandes aplausos estallaron cuando la multitud vio lo cerca que estaba su casa. El héroe fue para Hamilton y el caso del británico no ayudó cuando le dijeron que levantara y se deslizara, pero Pérez no pudo hacer el pase y terminó tercero, solo 1.1 segundos detrás de Hamilton, a pesar de tener neumáticos duros que eran 11 vueltas más nuevos que el del conductor de Mercedes.
En cuanto a Bottas, fue detenido en la vuelta 66 por neumáticos blandos, se deshizo en la vuelta 68, pero no pudo quitarle la vuelta rápida a Verstappen. Volvió a entrar en boxes para otro nuevo conjunto de blandos con una vuelta restante, y le arrebató la vuelta más rápida al líder del campeonato de Red Bull, antes de terminar 15º en la general.
Pierre Gasly se clasificó en el quinto puesto, pero terminó en un cómodo cuarto después del trompo de Bottas, mientras que Carlos Sainz se ubicó sexto detrás de Charles Leclerc (quinto puesto) en la carrera, perdiendo el español frente a su compañero de Ferrari en la salida.
Sebastian Vettel ocupó el séptimo lugar para Aston Martin, por delante de Kimi Raikkonen de Alfa Romeo en la octava posición.
Fernando Alonso ocupó el noveno lugar para Alpine habiendo comenzado 12º, pero se vio obstaculizado por una lenta parada en boxes en la vuelta 40. Eso dejó a Lando Norris décimo desde el 18, el piloto de McLaren había llegado a la séptima posición en la vuelta 45, cuando pasó de medianos a duros.
Sin embargo, el compañero de equipo de Norris, Ricciardo, solo pudo ocupar el puesto 12 después de que el contacto de la vuelta 1 arruinara sus esperanzas de sumar puntos desde la séptima posición en la parrilla y promoviera a Leclerc, Vettel y Raikkonen a un lugar cada uno.