Charles Leclerc was second for Ferrari, but faces a 10-place grid penalty, meaning Aston Martin's Fernando Alonso will join Perez on the front row.
Red Bull's Sergio Perez secured pole position at the Saudi Arabian Grand Prix on Saturday after a surprise early exit from qualifying for teammate Max Verstappen.
Verstappen had been the overwhelming favorite to take pole, having comfortably topped all three practice sessions at Formula 1's fastest street circuit.
However, a driveshaft failure midway through Q2 saw him return to the Red Bull garage and immediately get out of the car, leaving him to start Sunday's race in 15th place.
Verstappen, who had comfortably topped Q1, appeared to survive a scare as he just about kept control of his car after what he described as "a big moment" over team radio, but worse was to follow moments later.
He came on team radio reporting an apparent engine issue and could only coast back to the pits, before immediately exiting his car as a Q2 exit was confirmed.
Verstappen's exit set up a closer than anticipated contest to take top spot, but Perez kept his composure to seal just the second pole position of his career, with the first having come at the same circuit a year ago.
"Yeah, I mean it's a shame because Max has been really strong the whole weekend," Perez said.
"So hopefully tomorrow we can have both cars up there as you never know with these cars and reliability issues can hit you at any time."
Charles Leclerc was second for Ferrari, but faces a 10-place grid penalty, meaning Aston Martin's Fernando Alonso will join Perez on the front row.
Leclerc's performance represented somewhat of a boost for Ferrari, who appeared to have been running their engines below full capacity throughout the weekend after having to fit new power units on both cars amid technical issues.
Alonso, who makes his first front-row start since last season's Canadian GP, continues to justify his decision to move from Alpine to Aston Martin over the winter.
The Spaniard finished third behind the Red Bulls in Bahrain and appears to be Perez's most obvious competitor - aside from a charging Verstappen - for victory on Sunday.
George Russell provided a boost for Mercedes by taking fourth ahead of the other Ferrari of Carlos Sainz, but Lewis Hamilton could only manage eighth as he remained off the pace of his team-mate.
The cooler, windy conditions in Jeddah meant the track proved challenging from the off, with several drivers - including Alonso - spinning in the opening period.
Norris paid the price for his error after clipping the wall, and despite being able to return to the pits, he did not make it back out on track.
Q1 ended in somewhat appropriate fashion, with Williams rookie Logan Sargeant, who had spun earlier, stopping out on track after damaging his car while riding a kerb.
Sargeant exited along with his teammate Alex Albon, Norris and both AlphaTauris, whose day went from bad to worse after Nyck de Vries had earlier missed final practice following a technical failure that required a change of power unit.
The stage is set for a thrilling race on Sunday, with Perez and Alonso on the front row and Verstappen starting from 15th.
With the unpredictable nature of the track and the possibility of reliability issues, anything can happen in the race.