Speed Up rider Fabio Quartararo took his first grand prix win in the Moto2 Barcelona race ahead of an impressive Miguel Oliveira, who had started 17th and escaped a scary incident after the finish unscathed.
The early stages of the race were all about Oliveira, who made a sensational start from 17th, running as high as sixth after Lap 1.
He made two more moves next time around, and snuck past Marcel Schrotter at T4 when the German was slightly wide as Quartararo was passing him.
Oliveira then passed 19-year-old Quartararo on the same lap and closely followed early leader Alex Marquez before pulling off a move at Turn 10 on lap 7.
However, pole-sitter Quartararo also overtook Marquez a lap later and took advantage of a mistake from Oliveira at Turn 4 to take the lead.
Oliveira kept up with the Frenchman for a few laps before beginning to lose ground, with Quartararo's lead up to two seconds for the final five laps.
Quartararo then cruised to the finish to celebrate his maiden grand prix victory, as well as Speed Up's first win since Sam Lowes' triumph at Austin in 2015.
Oliveira settled for second but is now only two points behind Francesco Bagnaia in the standings as the Italian took seventh.
The Portuguese rider was hit by Simone Corsi's Kalex on the main straight after he finished, with both riders falling off their bikes but emerging seemingly unscathed.
Alex Marquez couldn't keep up with the top two and had to settle for third, followed by the Intact GP duo of Schrotter, who recovered from running wide at Turn 1, and Xavi Vierge.
Brad Binder finished sixth for the fifth time in seven races ahead of Lorenzo Baldassarri and Bagnaia.
Sam Lowes completed an impressive recovery behind them. The Briton was set to start ninth but a fuel pump issue forced him to last, only for him to fight back and end up in his original position.
His CGBM teammate Iker Lecuona completed the top 10.
Nine riders, including Joan Mir, Romano Fenati and Mattia Pasini retired from the race.
|1||Fabio Quartararo||Speed Up||22||38'22.059|
|15||Remy Gardner||Tech 3||22||38'42.468||20.409|
|19||Khairul Idham Pawi||Kalex||22||38'50.699||28.640|
|21||Danny Kent||Speed Up||22||38'52.354||30.295|
|24||Dimas Ekky Pratama||Honda||22||39'06.663||44.604|
|Bo Bendsneyder||Tech 3||0|