Courtesy his consistent good show, Bagnaia is now placed fifth in riders' table.
Second Mahindra rider Jorge Martin was part of the pack, running as high as eighth place several times but crossed the line 14th place. He was two seconds away from the winner.
The 19-year-old Italian Bagnaia had set the second-fastest qualifying time, only to be bumped back to the third row for straying minutely over the track limits.
Robbed of a podium last year by three thousandths of a second, Bagnaia played his cards better this time to cross the line three hundredths of a second behind second-place Fabio Di Giannantonio and six thousandths of a second ahead of Niccolo Antonelli (both Honda).
Also Read
"A good weekend for me and the team - I think my best in the World Championship so far. We've been consistently in the top five, and finishing third at Mugello is amazing. I pushed to the limit in the last lap to try to close the gap to Brad, and maybe if Quartararo had been further away from me I could have fought for the win," he said after the race.
The next race, in two weeks, is at a similarly fast circuit in Catalunya.