Pramac Racing's Jorge Martin has won the Qatar Grand Prix sprint to cut Francesco Bagnaia's world championship lead to just seven points.
Ducati's Bagnaia, the reigning MotoGP champion, could only finish fifth at the Lusail International Circuit on Saturday.
Martin, who started fifth on the grid, was at his aggressive best as he finished ahead of Gresini Racing's Fabio Di Giannantonio while polesitter Luca Marini of VR46 Racing took the final place on the podium.
Martin's victory ensured that MotoGP will have back-to-back final-round title deciders for the first time in history, with the season concluding in Valencia next weekend.
Italian Bagnaia seemed to be struggling with grip on his rear tyre and he could do nothing to catch up with the leaders, finishing behind Gresini's Alex Marquez.
"I felt I was going to be strong today. I was behind Marquez and Pecco (Bagnaia) and they're amazing riders, but I had the pace," Martin said after winning his eighth sprint of the season.
Marini led into turn one and Martin quickly moved up to third, but Bagnaia took his place to sit behind second-placed Marquez.
Bagnaia and Martin had jostled for position from turn one and made contact a few times before the Pramac rider elbowed his fellow title contender out of the way to move up to third on the second lap.
Di Giannantonio also took advantage to overtake the slower factory Ducati bike, leaving Bagnaia searching for answers as the top four pulled away.
Martin quickly set his sights on Alex Marquez and Marini, taking the lead after two well-timed overtakes on one lap.
Di Giannantonio did not back down either and the Gresini rider, who had set a lap record in qualifying that was later broken by Marini, overtook his Italian compatriot to put pressure on Martin.
"I tried to push a lot to close the gap but they were faster than me today," Marini said. "We need to find something for the race tomorrow, I was struggling for grip with the rear tyre. Every time there is no grip, Jorge does well."
With two laps to go, Di Giannantonio was right on Martin's tail but the Spaniard kept his cool to take the chequered flag.
"Jorge was doing a great job in sectors two and three. Incredible race, I was pushing so hard to catch him," Di Giannantonio said.
Earlier, Marini had smashed the lap record late in the second qualifying session to take pole for Sunday's Grand Prix.
Australian Jack Miller finished 12th in the sprint on his Red Bull KTM to slip down to 10th in the overall standings. Bagnaia still leads on 417 points, but Martin has closed to 410.