Numa das corridas mais renhidas de sempre, o piloto português cortou a meta a 2,727 segundos do vencedor, que deixou o segundo classificado, o espanhol Maverick Viñales (Aprilia), a 0,426 segundos e o terceiro, o australiano Jack Miller (Ducati), a 0,614.
Os 10 primeiros classificados ficaram separados por 6,646 segundos, com cinco pilotos diferentes a passarem pelo primeiro lugar.
Miguel Oliveira, que partiu do 13.º lugar da grelha, recuperou sete posições para por fim a uma série de quatro corridas consecutivas a terminar na nona posição, fechando esta 12.ª ronda da temporada no sexto lugar.
Saído da ‘pole position’, o francês Johann Zarco (Ducati) parecia embalar para a primeira vitória de sempre na sua carreira no MotoGP. Esteve na frente durante quatro voltas mas, na quinta, caiu sozinho depois de perder a frente da sua Ducati.
Jack Miller ‘herdou’ o comando, mas Alex Rins (Suzuki) depressa atacou o primeiro lugar do australiano, até que, na sexta volta, o espanhol saltou mesmo para a liderança.
Rins aguentou o primeiro lugar durante seis voltas antes de os pneus começarem a ceder, recuando até ao sétimo posto final.
Nessa altura, já Francesco Bagnaia tinha passado para o comando, levando atrás de si Maverick Viñales.
Os dois entretiveram-se numa animada luta nas voltas finais, com Viñales ainda a passar pelo comando durante breves momentos, antes de Bagnaia assumir, definitivamente, a liderança, cortando a meta para a quarta vitória da temporada.
Miguel Oliveira, que fez um bom arranque, já era 10.º no final da primeira volta e subiu a nono com a queda de Zarco, antes de ser ultrapassado pelo italiano Enea Bastianini (Ducati).
A queda do espanhol Joan Mir (Suzuki) voltou a colocar o português em nono.
Oliveira acabaria por fazer um ataque nas últimas cinco voltas, ultrapassando o espanhol Aleix Espargaró (Aprilia), o campeão do mundo e líder do Mundial, Fábio Quartararo (Yamaha), e Alex Rins já na volta final.
Com estes resultados, Quartararo manteve a liderança do campeonato, com 180 pontos, mais 22 do que Aleix Espargaró, que sábado sofreu uma violenta queda na quarta sessão de treinos livres, ficando magoado num tornozelo.
Miguel Oliveira é 10.º, com 81 pontos, menos um do que Viñales, que é nono.
A próxima ronda é o GP da Áustria, em 21 de agosto.