Francesco Bagnaia shattered Aleix Espargaro's barely day-old circuit lap record at Catalunya to clinch pole for the Catalan MotoGP round in Barcelona.
The reigning world champion threw down the gauntlet ahead of the Sprint race and Sunday's Grand Prix at round 11 of the championship with a blistering lap in 1:38.639s on the factory Lenovo Ducati.
Spaniard Espargaro, who had raised the benchmark with a lap in 1:38.686 to set the pace on Friday, had to settle for second on the front row on the Aprilia, 0.104s off Bagnaia's time.
Oliveira sealed his place in Qualifying 2 after earlier topping Q1 with a 1:38.789, when Repsol Honda's Marc Marquez sprung a surprise as he grabbed a tow off Red Bull KTM's Jack Miller to earn his place in Q2, 0.281s down on the Aprilia rider.
Marquez, 19th on Friday, ended Q2 in 12th position and will line up on the fourth row.
Portuguese rider Oliveira had an eventful morning, escaping unscathed after a big crash at Turn 5 in Practice 2 but still topping the session from Pramac Ducati's Johann Zarco and Aleix Espargaro.
The RNF rider has made eye-catching progress throughout the weekend and is a solid contender for the podium.
After the first runs in Q2, Espargaro went to the top with a 1:39.207 to lead Aprilia Racing team-mate Maverick Viñales, Bagnaia and Jorge Martin (Pramac Ducati), while Brad Binder found some good pace to hit the summit briefly on the Red Bull KTM with a 1:39.176.
Viñales then improved to 1:39.099 on his second lap before the pole contenders came into pit lane for fresh rubber ahead of the final time attacks.
Espargaro fired in a 1:38.752 but Bagnaia wrapped up his sixth pole start of the season with his record lap, paving the way for the championship leader to challenge for his maiden victory or podium at Catalunya.
Viñales heads up the second row from Martin and Zarco, with Gresini Racing duo Alex Marquez and Fabio di Giannantonio in seventh and eighth respectively. South African Binder completes the third row for KTM.
Marco Bezzecchi, third in the standings and only six points behind Martin, was 10th with Enea Bastianini (Lenovo Ducati) next ahead of Honda's Marquez.
Bastianini has a three-place grid penalty for Sunday's GP for impeding another rider in practice on Friday and riding slowly on the racing line.
Australian Miller was 13th on the Red Bull KTM after being edged out in Q1 by Marquez, with Fabio Quartararo – a faller in Q1 – 17th on the Monster Energy Yamaha alongside team-mate Franco Morbidelli, who lines up in 16th.
Honda trio Joan Mir, Takaaki Nakagami and Iker Lecuona start on the last row of the grid in 20th, 21st and 22nd respectively, with Marquez's qualifying performance the only highlight of a miserable weekend so far for the Japanese manufacturer.