Jorge Martin beat Philipp Oettl at Jerez to claim his 11th Moto3 pole position, while last year's Spanish Grand Prix winner Aron Canet was only 15th.
Martin's Gresini teammate Fabio Di Giannantonio set the early pace in qualifying with a 1:47.671s, before Friday pacesetter Niccolo Antonelli deposed him with a 1:47.436s.
A flurry of fast laps 10 minutes in saw Marcos Ramirez, Andrea Migno and Martin trade top spot, with the latter edging into the 1:46s bracket with a 1:46.945s, which he improved a few moments later to a 1:46.937s.
Di Giannantonio snatched provisional pole away from his teammate shortly after with a 1:46.877s, before Prustel GP's Oettl stormed over half a second clear of the field with a 1:46.346s.
Oettl's time stood as the benchmark for the next 10 minutes, with Martin returning to the top of the pile with a 1:46.193s.
Neither Martin nor Oettl were able to improve on their times as the session drew to a close, but came under no threat at the head of the field, while Di Giannantonio climbed up to third on his final lap having been shuffled back to seventh.
Antonelli recovered to fourth to head the second row, with Marco Bezzecchi and Migno alongside, while Estrella Galicia 0,0 Honda rider Alonso Lopez took his best qualifying result of his rookie season in seventh.
While Lopez impressed on his Honda, teammate Canet suffered a low-key session, and could do no better than 15th.
Enea Bastianini will start from eighth ahead of Leopard teammate Lorenzo Dalla Porta, with Tatsuki Suzuki completing the top 10.
Red Bull KTM Ajo's Darryn Binder will miss Sunday's race after suffering a dislocated left shoulder in a collision with Livio Loi at Turn 4 in the early stages of the session.
CIP rookie Makar Yurchenko [13th] and RBA Racing's Gabriel Rodrigo [19th] also crashed, but both were unscathed in their incidents at Turns 9 and 7 respectively.