Num traçado escaldante que retirou aderência ao asfalto, ocorreu um acidente logo na primeira curva. Tal como na véspera, Marc Márquez fez o melhor arranque, mantendo a liderança da pole, à frente de Pedro Acosta, Jorge Martín, que perdeu o controlo da sua mota e arrastou na queda o seu colega de equipa Marco Bezzecchi, Fabio di Giannantonio, Fermín Aldeguer e Raúl Fernández.
A bandeira vermelha não foi mostrada, o que permitiu a Francesco Bagnaia subir ao terceiro lugar, seguido por Jack Miller, Luca Marini, Diogo Moreira e Fabio Quartararo, que partiu da 15.ª posição da grelha.
Na segunda volta, Acosta ultrapassou Marc Márquez, algo que não tinha conseguido fazer na sprint. Nunca tendo vencido um Grande Prémio, o Tiburón de Mazarrón encadeou voltas rápidas para tentar fugir. O piloto da KTM chegou a ter 1,7 segundos de vantagem sobre o campeão do mundo em título após apenas 5 voltas.
Mal saído da curva, Enea Bastianini regressou à trajetória de Joan Mir, que demonstrou uma destreza notável para se manter em cima da mota. La Bestia acabou por cumprir uma volta longa.
Ao mesmo tempo, Marc Márquez começava a rodar cada vez mais rápido. Tendo optado por dois pneus médios, enquanto Pedro Acosta tinha um macio atrás, o catalão ficou a menos de um segundo de diferença em apenas duas voltas. O líder geriu o pneu para atacar mais tarde, assinando uma volta mais rápida para manter a diferença entre 7 e 9 décimos. Ambos registavam tempos impressionantes, um segundo mais rápidos do que o resto do pelotão.
No entanto, a meio da corrida, MM93 já estava a menos de meio segundo, colado ao seu jovem rival. Na 14.ª volta, passou para a frente, mas o murciano resistiu e recuperou a posição. O duelo repetiu-se algumas curvas depois, sempre com Acosta a levar a melhor. À terceira foi de vez para Marc Márquez, que rapidamente ganhou um e depois dois segundos de vantagem.
Isolado a mais de 7 segundos de Acosta e 5 de Marini, Bagnaia garantiu o terceiro lugar praticamente despercebido, até mesmo para a realização televisiva.
Com uma excelente corrida, Ai Ogura terminou na 4.ª posição, à frente de Marini e Moreira, que assinou um fim de semana notável. Substituindo Álex Márquez, Iker Lecuona alcançou um notável 8.º lugar. Quanto a Quartararo, foi sempre a perder posições, antes de cumprir uma volta longa e abandonar já perto do final da corrida.
Chegando ao carrossel do Balaton Park (4 km) com 102 pontos de desvantagem para Bezzecchi, Márquez sai da Hungria com duas vitórias e apenas 72 pontos de atraso para o piloto da Aprilia. Esta é a sua 100.ª vitória em todas as categorias, a 74.ª em MotoGP. Fenomenal.
