Bagnaia finished ahead of Marc Marquez after title rival Jorge Martin crashed while leading with two laps to go.
Marquez’s brother, Alex, finished third in Sunday’s race to make it two brothers on a MotoGP podium for the first time since Japan’s Nobuatsu Aoki and Takuma Aoki finished second and third in Imola 27 years ago.
Martin had looked well set for the sprint and race double before he slid off at turn one, gifting Bagnaia the victory.
“It wasn’t easy, I tried everything at the start, but Jorge and Franco [Morbidelli] were quick and I thought they were pushing too much,” Italian Bagnaia said.
“In the last two-three laps I saw Jorge was making mistakes ... Four wins in a row is fantastic.”
Although Bagnaia overtook Oliveira and Martin early on, the Spaniard made a daring overtake on the inside of turn one stick.
Bagnaia, meanwhile, conserved his tyres as he reclaimed second place while fellow Italian Morbidelli struggled to match his pace as Alex Marquez also moved up into third.
Morbidelli and Marc Marquez collided with nine laps to go but the Spaniard managed to regain his balance and stay in fifth place even as Ducati’s Enea Bastianini looked to pounce.
Marc Marquez finally overtook Morbidelli with five laps left and set his sights on his younger brother for the final podium spot, catching up at half a second a lap before he overtook him.
Both brothers finished on the podium as Bagnaia’s pressure paid off with two laps to go when Martin crashed, allowing the Ducati rider to cruise to a race victory.
AAP