Starting first and second on the grid, all eyes were on the title rivals Bagnaia and Pramac’s Martin, with the former grabbing the holeshot.
But a hard charge from Alex Marquez proved too much for Bagnaia to resist, while an issue with debris getting caught in his factory Ducati’s front right wing further hindered him as he dropped to third.
Marquez took the chequered flag by over a second from Martin, whose second place has seen him chop two points out of Bagnaia’s standings lead to get it down to 11 ahead of Sunday’s grand prix.
Bagnaia held onto third despite intense late pressure from his rejuvenated team-mate Enea Bastianini, as Brad Binder got the better of KTM team-mate Jack Miller for fifth.
Alex Marquez qualified his Gresini Ducati fourth on the grid but leapt up to third off the line behind Bastianini and Bagnaia, as Martin slumped to fourth.
Marquez quickly disposed of Bastianini for second at Turn 4 on the opening lap before Martin came past the factory Ducati rider for third at the penultimate corner.
At the end of lap two, Marquez would try a move on Bagnaia into the last corner, but ran wide and let the championship leader back into first.
This also let Martin through, with the Pramac rider and Marquez trading blows into Turn 1 – Martin holding firm in second.
Marquez would retake the position into Turn 4 on the third lap and took the lead two tours later into Turn 9.
The Gresini rider quickly broke away from Bagnaia, who lost second to Martin at the penultimate corner through a daring move on the inside from his Pramac rival.
Bagnaia’s afternoon got worse when a piece of debris attached itself to the right wing of his Ducati on lap seven, which dropped him quickly off the back of Martin and put him into the clutches of Bastianini.
The debris worked itself free on lap eight, but the gap to Martin was too great to close.
Photo by: Gold and Goose / Motorsport Images
Francesco Bagnaia, Ducati Team
At the front, Marquez extended his lead to 1.589s to take his second sprint win of the campaign, with Martin second and Bagnaia 0.208s clear of Bastianini.
Bastianini briefly lost fourth to Binder at the last corner, but was able to snatch the place back by 0.068s on the drag to the finish line.
Miller was sixth, 1.008s further back, with VR46 Ducati’s Marco Bezzecchi, Pramac’s Johann Zarco and the second VR46 bike of Luca Marini completing the top nine.
Bezzecchi remains in mathematical championship contention in third in the standings, albeit 83 points adrift with only 99 left up for grabs in 2023.
Aprilia came up without points in the sprint as Maverick Vinales could only manage 10th, while Franco Morbidelli was the leading Yamaha in 11th after eighth-place starting team-mate Fabio Quartararo plummeted to 16th.
There were crashes for both factory Honda riders, with Marc Marquez rejoining to finish 21st and Joan Mir taking last, with Ducati wildcard Alvaro Bautista sandwiched between them in 22nd.