Francesco Bagnaia garantiu uma vitória confortável diante de seus fãs em Mugello, conquistando sua terceira vitória consecutiva no Grande Prêmio da Itália. Enea Bastianini e Jorge Martin também tiveram ótimas performances, com Bastianini fazendo uma manobra impressionante na última volta para conquistar o segundo lugar dos líderes do campeonato. Bagnaia, que largou em quinto lugar devido a uma penalidade, rapidamente assumiu a liderança e manteve-a durante toda a corrida. Os quatro primeiros pilotos na classificação lideraram o caminho, com Pedro Acosta como o melhor piloto da KTM na quinta posição.
Houve alguns incidentes notáveis durante a corrida. Alex Marquez tentou uma ultrapassagem audaciosa em Bastianini, mas acabou cedendo sua posição para o piloto da Ducati de fábrica. A moto de Marquez também teve alguns problemas com fumaça, mas isso não afetou significativamente seu desempenho. Joan Mir caiu na volta 7, apesar de mostrar melhorias no desempenho de sua moto Repsol Honda. Takaaki Nakagami também perdeu o controle de sua moto, obrigando-o a se retirar da corrida.
À medida que a corrida avançava, Bagnaia e Martin mantiveram um ritmo consistente, criando uma diferença de 0,8 segundos em relação a Bastianini. Martin conseguiu reduzir a diferença para 0,4 segundos, mas Bagnaia respondeu e aumentou sua vantagem mais uma vez. Marquez fez uma ultrapassagem tardia em Bastianini, mas não conseguiu alcançar os líderes. Com três voltas restantes, Bagnaia cometeu um pequeno erro, permitindo que Martin se aproximasse. No entanto, Bagnaia se recuperou rapidamente e garantiu a vitória. Bastianini fez uma manobra forte na última volta para terminar em segundo lugar, completando uma dobradinha para a equipe Ducati de fábrica. Martin terminou em terceiro lugar.
Outras performances notáveis incluem o quinto lugar medido de Pedro Acosta pela KTM, o melhor resultado de Franco Morbidelli com a Pramac em sexto lugar, e a ultrapassagem de Fabio Di Giannatonio em Maverick Viñales para garantir o sétimo lugar. A equipe Aprilia teve uma corrida mista, com o piloto terminando em oitavo lugar. Alex Marquez e Brad Binder completaram o top dez. Aleix Espargaro terminou em 11º lugar, garantindo à Trackhouse Aprilia uma dobradinha de pontos com Raul Fernandez em 12º lugar e Miguel Oliveira em 14º lugar. Marco Bezzecchi se recuperou de uma posição baixa no grid para terminar entre os pilotos da Trackhouse em 13º lugar. Rins conquistou o último ponto em 15º lugar. Jack Miller e Pol Espargaro tiveram corridas decepcionantes, terminando em 16º e 17º lugar, respectivamente. Fabio Quartararo teve dificuldades durante toda a corrida, enquanto Johann Zarco terminou em 19º lugar. Luca Marini e Lorenzo Savadori completaram a corrida em 20º e 21º lugar, respectivamente.