The Italtrans rider nailed his launch from third on the grid to grab the holeshot on the run into Turn 1 at the start of the fourth round of the 2020 Moto2 campaign.
Poleman Joe Roberts folded into second ahead of the Marc VDS bike of Sam Lowes, though both would briefly fall behind the Ajo Kalex of Jorge Martin.
This allowed Bastianini to open up a lead of close to eight tenths, with Roberts regaining second from Martin at the Schwantz corner of Turn 10.
But the American Racing rider soon came under attack from Lowes at the start of the second lap, with the latter moving into second at Turn 3.
Lowes began the hunt on Bastianini, who now held a gap of a second over the chasing pack.
The Marc VDS rider got the gap down to eight tenths come the third lap, with the Briton closing to within half a second by lap seven.
Bastianini, however, began to wind up his pace again and get the gap back out to a second by the closing stages.
Though Lowes put on a bit of a charge on the last lap and cut Bastianini’s lead down to half a second, the Italian came under no threat on the run to the line to move 18 points clear in the standings.
Lowes’ second marks his first podium since he won the 2016 Aragon GP.
Roberts was cut adrift of the leading duo early on in the 19-lap race, but kept his pace strong enough as the only one of the leading group on the softer front tyre to avoid coming under threat from the chasing Luca Marini in fourth.
Taking the chequered flag in third for his maiden podium, Roberts becomes the first American in any grand prix class to stand on the rostrum since Ben Spies was second in MotoGP in 2011.
It was also the first for an American rider in the intermediate class since John Kocinski at Assen in 1993.
Marini was a damage-limiting fourth on the Sky VR46 Kalex, with Augusto Fernandez completing the top five for Marc VDS ahead of the sister VR46 bike of Marco Bezzecchi.
Jorge Navarro was a distant seventh on the Speed Up, beating Martin – who tumbled down the order after his early podium run – Aspar’s Hafizh Syahrin and his teammate Aron Canet.