Lewis Hamilton volvió a hacer valer a las flechas plateadas y se impuso en una carrera de Fórmula Uno en Montmeló en la que la estrategia de parada en pits jugó un rol preponderante.
Vettel se quedaba con la primera posición en la primera mitad de la prueba pero no pudo ante Hamilton y se tuvo que conformar con ser segundo, pero mantuvo la punta del campeonato. Raikkonen abandonó en la primera vuelta por un toque con Max Verstappen, en tanto que Valtteri Bottas también acabaría la carrera antes de tiempo por una falla mecánica.
Daniel Ricciardo finalizó en la tercera posición sacando provecho de los abandonos delante de él, aunque llegó a más de un minuto de Hamilton.
Por delante, Vettel y Hamilton comenzaron a intercambiar vueltas rápidas, y la distancia entre ambos se mantuvo en torno a los dos segundos y medio. Bottas era tercero, alejado de los dos líderes.
Alonso fue el primero en parar, y en la vuelta 12 montó blandos. Tanto Magnussen como Sainz pararon un giro después, a la vez, y estuvieron muy cerca de tocarse, primero dentro del pitlane y luego en la calle de salida de boxes, donde el español tuvo que pisar la hierba.
Hamilton se acercaba peligrosamente a Vettel y en la vuelta 14ª el alemán entró a boxes, con una parada que pudo ser más veloz.
Los Mercedes se mantuvieron en pista pero Vettel era más rápido, por lo que la estrategia del equipo germano parecía diferente. En la vuelta 22 entró el tricampeón, pero Bottas se quedó en pista para taponar y hacer perder tiempo a Vettel, luchando por el liderato de carrera. El tetracampeón realizó un arriesgado y atrevido adelantamiento para recuperar la punta.
Más tarde Vandoorne y Massa se tocaron y el otro piloto de McLaren se tuvo que retirar. La carrera entró en periodo de Safety Car Virtual para retirar el auto del belga de la grava de la curva uno y muchos aprovecharon para entrar.
Los mecánicos de Mercedes se prepararon, pero Hamilton tardó una vuelta más en entrar. Vettel lo hizo un giro más tarde, pero ya sin el período de VSC y regresó a la pista a la par de Hamilton. Ninguno se arrugó, y casi se tocaron. Hamilton tuvo que salirse de pista y Sebastian se quedó el liderato, aunque Lewis era más rápido y atacaría durante las siguientes vueltas.
En ese instante llegó el abandono de Valtteri Bottas, cuyo motor viejo no aguantó más. Vettel aprovechó los doblados para abrir DRS y defenderse de Hamilton. Con el abandono de Bottas, Ricciardo estaba en podio, y Pérez ascendía a la cuarta plaza, la cual mantendría hasta el final.
Poco tardó Hamilton para hacer valer su velocidad y pasar a Vettel, poniéndose primero y dejando al de Ferrari sin opción de DRS. Wehrlein había parado durante el VSC, pero ingresó de manera incorrecta al carril de pits y recibió por ello cinco segundos de sanción.
Ya con Hamilton en el liderazgo, poco más pudo hacer Vettel, que además tuvo un nuevo incidente con Massa al sacarle una vuelta, como sucedió en la carrera pasada de Rusia, y se tuvo que conformar con la segunda plaza. Hamilton administró su ventaja hasta la bandera a cuadros y se llevó su segunda victoria del año.