SAG rider Gardner, son of 1987 500cc champion Wayne, led for much of the race after departure Marcel Schrotter (in tact GP) to catch the early advantage on lap two of 23.
After resisting a challenge from Schrotter on lap six, Gardner also watched Alex Marquez on lap 11, repassing the Marc VDS rider at Turn 7 later relinquishing the lead at Turn 5.
Schrotter subsequently passed Gardner on lap 12 to enjoy a spell outside front, but was demoted again by the Australian rider at twist 5 laps later.
Shortly after, Baldassarri, with picked off Marquez, moved away from Schrotter for moment, and then caught up to the trunk of Gardner.
On lap 20, the decisive move of the race came at Turn 5, as Baldassarri gently nudged Gardner out of this way at twist 5 to catch a lead he wouldn’t lose.
Gardner conducted wide and dropped to third behind Schrotter, but managed to catch back the position until the German slid down the sequence, scoring his inaugural podium.
Schrotter finished sixth after his late downturn, in front of Luca Marini (Sky Racing VR46), who dropped on the last lap conducting wide at Turn 7 while still scrapping with Binder.
Jorge Navarro (speedup ) and also a pair of rookies, Enea Bastianini (Italtrans) and also Somkiat Chantra (Team Asia), completed the top .
Qatar runner-up Tom Luthi (Intact) had been an early retirement because he crashed after tagging Binder’s back wheel during the early exchanges.
Sam Lowes (Gresini) crashed un-aided on the same lap, whereas controlling Moto3 champion Jorge Martin (Ajo) and MV Agusta riders, Stefano Manzi along with Dominique Aegerter, also fell.
Poleman Xavi Vierge (Marc VDS) didn’t even create the start of the race because his motorcycle shut down on the warmup lap.
Baldassarri now holds a 17-point lead over Gardner, while Schrotter establishes third, 23 points down.