Bagnaia wins Barcelona MotoGP sprint to take season to final race
Championship leader Jorge Martin finished third behind Bagnaia's Ducati-Lenovo teammate Enea Bastianini and will take a reduced 19-point lead into Sunday's grand prix.
"Job done for today but tomorrow we need to repeat what we did," Bagnaia told TNT.
"I just tried to be smooth in the first sector. As soon as I was leading I knew my pace was good enough to open a gap. That was the objective for today. I didn't need to push too much to open the gap.
"Jorge did a fantastic job so it's fantastic that it's like this. But let's see tomorrow."
Bagnaia arrived in Barcelona with a 24-point deficit and knowing that he effectively needed to win both the sprint and the grand prix to have any chance of denying Martin a first world title.
The Italian has already won 10 of 19 grands prix this season but his lack of consistency has let him down.
But having won in Malaysia a fortnight ago he was again in imperious form as he set the pace in qualifying to take pole for both the sprint and the grand prix.
Martin, in contrast, could only qualify fourth, on the second row of the grid.
'Happy with podium'
The Spaniard, however, made a good start although not good enough to catch Bagnaia who made sure he didn't repeat the error he made in the sprint in Sepang when he crashed out early after again starting on pole.
While Bagnaia ran his own race up ahead Martin was locked in a thrilling duel with Bastianini, the two swapping places throughout until the final lap when the Italian swept past on turn 5 and held on for second.
"Tomorrow will be another story but I'm happy with the podium," said Martin, who has been the most consistent driver of the season and remains the overwhelming favourite to win his first world championship.
"I will go for it. I think we are in a good way so let's try for a big win tomorrow."
If Bagnaia is to collect a third consecutive title, he will have to win Sunday's grand prix and hope that the Madrid rider finishes no better than ninth. Or he can finish second and pray that Martin does no better than 15th.
"Nineteen points is still a lot but the objective was to take it to Sunday and we did it," said Bagnaia.
"So now we focus on tomorrow. We will do our maximum and what will be will be."
The race was due to take place in Valencia but had to be moved after the region suffered its worst floods in a generation which have killed more than 220 people.
The race was switched to the Circuit de Barcelona-Catalunya and has been dubbed the Solidarity GP to show support for the people of Valencia.