Andrea Dovizioso claimed his first MotoGP pole since 2016 with a last-gasp effort to take top spot for the Czech Grand Prix from Marc Marquez.
FP4 pacesetter Marquez set the benchmark in Q2 at a 1:55.559s, but was blown out of the water by Ducati's Jorge Lorenzo, who went half a second quicker with a 1:55.059s.
Dovizioso found his way to fourth in the early stages on his GP18, while Valentino Rossi languished outside of the top 10 with Q1 graduate teammate Maverick Vinales.
Lorenzo beat his best lap by a few hundredths with a 1:55.038s, though Marquez dipped into the 1:54s bracket for the first time with a 1:54.961s.
Marquez backed off into Turn 1 on his final lap, as did LCR's Cal Crutchlow, who trailed the Spaniard to go third fastest.
However, Dovizioso, Rossi, Danilo Petrucci and Johann Zarco began to put Marquez's time under threat as they began their final tours.
Dovizioso continued to gain time across the lap, and fired in a 1:54.689s to take his first pole since the 2016 Malaysian Grand Prix, while Rossi leaped from 12th to second, missing top spot by just under three tenths.
Lorenzo was shuffled back to fourth in the end, with Marquez just holding onto the front row in third. Crutchlow and Petrucci completed the second row.
Zarco could do no better than seventh with his last effort of 1:55.221s on his Tech3 Yamaha, with Suzuki duo Andrea Iannone and Alex Rins alongside on row three.
Dani Pedrosa will start from 10th, missing the third row by just 0.040s, with Tito Rabat and Vinales completing the top 12.
Franco Morbidelli made a late charge for the Q2 progression places, but missed out by two tenths and will start 13th instead, with late faller Alvaro Bautista on his Aspar Ducati behind the Marc VDS rider.
Pramac's Jack Miller had to settle for a lowly 17th after a crash at Turn 9 in the closing stages. Honda wildcard Stefan Bradl will line up alongside the Australian in 18th.
Scott Redding fell in the opening stages of Q1, and could do no better than 25th despite being able to rejoin the session.
Aprilia teammate Aleix Espargaro was just two tenths ahead in 24th behind home hero Karel Abraham, whose charge was ended by a fall just moments before Aspar teammate Bautista.