Aunque la Pole del sábado era para Valtteri Bottas, Sebastian Vettel supo salir mejor que el finlandés y le robó el liderato al colarse por el interior en la primera frenada de la carrera. Alonso y Massa salían muy bien colándose el brasileño en la quinta plaza y Alonso sexto, precediendo al peligroso Pérez. Algo más atrás hubo ciertos toques que dejaban eliminados a Vandoorne y Magnussen al tocarse y llevarse consigo a Ricciardo, que podía seguir. Ocon y Grosjean se enganchaban antes del Pico do Pato en la primera vuelta quedando el de Force India fuera de carrera por primera vez en 27 participaciones. Pero quien se aprovechaba de todo esto era Lewis Hamilton, que debía salir desde pits, en último lugar tras su salida en los entrenamientos sin posibilidad de calificar, estando en la segunda vuelta ya en 14ª posición.

Vettel se mantenía toda la carrera por delante de Bottas, controlando una diferencia entre 2 y 3 segundos, a cubierto del DRS y de cualquier ataque en el cambio de neumáticos. Raikkonen se mantenía tercero, a cierta distancia. Hamilton seguía recuperando posiciones superando a los más complicados Perez, Alonso y Massa para quedar quinto tras Verstappen, que no podía contactar con Raikkonen desde la cuarta plaza. Con el cambio de neumáticos y la alargada de los suyos al ser de compuesto más duro, Hamilton llegó a colocarse líder. Cuando el británico cambió sus neumáticos, se volvía a encontrar en quinta posición, pero con mejor compuesto que Verstappen, al que podía superar, y acercándose a Raikkonen, aunque nunca llegó a inquietarle. Alonso no pudo finalmente con Massa, que sabía cubrir todos los huecos para firmar un excelente séptimo puesto, el primero después de las tres grandes marcas, seguido muy de cerca por Alonso, que felicitaba al brasileño pasada la meta por su defensa limpia de la posición. Tras Pérez, que terminaba al rebufo del McLaren, terminaba en los puntos Nico Hulkenberg, esta vez superior a Sainz, que llegó tras él, en una buena carrera también para los Renault.

1º Sebastian Vettel Ferrari 1:31'26.260
2º Valtteri Bottas Mercedes 1:31'29.022
3º Kimi Raikkonen Ferrari 1:31'30.860
4º Lewis Hamilton Mercedes 1:31'31.728
5º Max Verstappen Red Bull 1:31'59.200
6º Daniel Ricciardo Red Bull 1:32'14.951
7º Felipe Massa Williams 1:32'35.142
8º Fernando Alonso McLaren 1:32'35.623
9º Sergio Pérez Force India 1:32'35.760
10º Nico Hulkenberg Renault 1 vuelta
11º Carlos Sainz Jr. Renault 1 vuelta
12º Pierre Gasly Toro Rosso 1 vuelta
13º Marcus Ericsson Sauber 1 vuelta
14º Pascal Wehrlein Sauber 1 vuelta
15º Romain Grosjean Haas 2 vueltas
16º Lance Stroll Williams 2vueltas