Update: Fabio Quartararo has been issued a second penalty after his leathers opened in the final laps of the race.
Six-time MotoGP™ champion Marquez has not had the best of luck since returning from an injury that kept him out for the majority of 2020 and, after crashing in the Italian Grand Prix last week, the Spaniard suffered a similar fate on Sunday.
Marquez, aiming for a fifth consecutive podium finish in his home Grand Prix, spun out of control at turn 10, shortly after Danilo Petrucci and Pol Espargaro had crashed out, with Aleix Espargaro soon joining his younger sibling.
Aleix Espargaro, sixth at the time, fell foul of the same corner that did for Marquez, who desperately tried to right his bike but was swiftly ushered away by track emergency staff as he followed up retirements in France and Italy.
Turn 10 subsequently claimed another big name, Valentino Rossi, who managed his best finish of the season at the Italian Grand Prix (10th) but ended up skidding off the track here.
Yet up ahead, it was a demonstration of complete control from Oliveira (Red Bull KTM), who led for 23 laps in total after capitalising on a mistake from early front-runner Jack Miller.
The Australian had himself pounced on an error by championship leader Quartararo, who had claimed his fifth consecutive pole and was aiming for a career-first fourth win of a single season.
Yet despite fighting back to close the gap on Oliveira, Quartararo could not win in Barcelona as he did in 2020, and ultimately had to settle for fourth place, missing out on a third straight podium finish at the circuit.
Johann Zarco's daring overtake with three laps to go did the initial damage for Quartararo, who lost part of his protective leathers as he attempted to hold off Miller's challenge for third, but the Monster Energy Yamaha driver was handed a three-second penalty. That would later be doubled to six seconds after the Frenchman was handed an additional penalty for his open leathers.
It is Miller's first appearance on the Barcelona podium in seven attempts in MotoGP™, while Zarco has surpassed his previous best tally of three top-three finishes in a single season.
Yet the day belonged to Oliveira, the Portuguese rider holding steady to clinch a third MotoGP™ race win.
- Miguel Oliveira (Red Bull KTM)
- Johann Zarco (Pramac Racing) +0.175
- Jack Miller (Ducati) +1.990s
- Joan Mir (Suzuki Ecstar) +5.325s
- Maverick Vinales (Monster Energy Yamaha) +6.281s
- Fabio Quartararo (Monster Energy Yamaha) +7.815
- Francesco Bagnaia (Ducati) +8.175s
- Brad Binder (Red Bull KTM) +8.378s
- Franco Morbidelli (Petronas Yamaha) +15.652s
- Enea Bastianini (Reale Avintia Racing) +19.297s
- Fabio Quartararo (Monster Energy Yamaha) 118
- Johann Zarco (Pramac Racing) 101
- Jack Miller (Ducati) 90
- Francesco Bagnaia (Ducati) 88
- Joan Mir (Suzuki Ecstar) 76
- Monster Energy Yamaha 192
- Ducati 178
- Pramac Racing 124
- Suzuki Ecstar 99
- Red Bull KTM 97
The MotoGP™ schedule takes in Germany, with Chemnitz's Sachsenring hosting the German Grand Prix in two weeks' time.