
Bagnaia had taken pole in qualifying earlier in the day with a lap record but was pushed back to third when Martin had a dream launch off the line, with KTM’s Brad Binder right behind him before the reigning champion took back second place.
Marc Marquez crashed in qualifying and started on the third row but the Spaniard, who won the San Marino Grand Prix at the same circuit two weeks ago, quickly moved up to fourth behind Ducati’s Enea Bastianini.
Martin maintained his lead despite Bagnaia’s sustained pressure but with six laps to go, the Spaniard blinked and went wide, leaving Bagnaia to streak away.
As Martin looked to reel in Bagnaia, the Pramac Racing rider also had to look over his shoulder with Bastianini ensuring he was sandwiched between two red factory Ducatis after the Italian left Marquez far behind.
But Bagnaia maintained his composure and took the chequered flag less than three-tenths of a second clear of Martin, with Bastianini finishing third for an all-Ducati podium while Marquez finished a distant fourth.