The MotoGP title race will go all the way to the final day in Barcelona after champ Francesco Bagnaia won the Solidarity Grand Prix sprint.