Mercedes driver Nico Rosberg took pole position for the Bahrain Grand Prix from Red Bull's Sebastian Vettel and Ferrari's Fernando Alonso.
Rosberg beat Vettel by 0.254 seconds with Alonso a further 0.083secs behind.
Mercedes' Lewis Hamilton and Red Bull's Mark Webber qualified fourth and fifth, but will be demoted five and three places as a result of grid penalties.
That means Ferrari's Felipe Massa will start fourth ahead of Force India's Paul di Resta.
The Scot's team-mate Adrian Sutil qualified seventh and will start sixth, ahead of Webber, Lotus's Kimi Raikkonen, who qualified ninth, Hamilton and McLaren's Jenson Button.
Hamilton earned a five-place penalty after suffering a tyre failure in final practice which damaged his gearbox, requiring it to be changed.
The Englishman, who will start ninth, said he felt it was unfair to be penalised as a result of a problem caused by external factors but added he would try his best to make up.
Webber will start seventh following a three-place penalty as he was blamed for causing a collision with Toro Rosso's Jean-Eric Vergne in China last weekend.
Button scraped through into the top 10 shoot-out in the uncompetitive McLaren and took 10th place having not set a time in the final part of qualifying.
Rosberg's pole was his first since China last season, which he won.
But the Mercedes showed heavy tyre degradation in the race-simulation runs on Friday and is unlikely to be able to hold on to first place in the race.
Rosberg said: "It wasn't clear before it was the quickest car, especially over one lap. I was a bit happier this morning because yesterday we were really struggling. We obviously worked really well overnight.
"It's a fantastic result, it will be a tough race for sure especially with tyre degradation."
Vettel added: "Congratulations to Nico, it was all his today. When I saw the gap to Nico I realised that even with a perfect lap we couldn't have beaten [him] today. We managed to save some tyres and tomorrow will all be about tyre degradation."
Alonso aborted his final lap after realising he would not be able to improve on his earlier time. But he said he was confident of a strong race - he is starting from the same position from which he won last weekend's Chinese Grand Prix.
"We tried to complete the second lap," Alonso said. "It was very similar until the last corner and then I saw it was half a tenth slower and we decided to save one lap on the tyres.
"The car was very competitive in qualifying so this puts us in a strong position to start tomorrow's race and to fight with the leaders with more of a margin."
Williams's dreadful season continued, with Pastor Maldonado joining the usual suspects of Marussia and Caterham in dropping out after the first session, along with Sauber's Esteban Gutierrez.
Gutierrez will start from the back as a result of a five-place penalty for causing a collision in China last weekend.
The session, and the weekend's race, is taking place against the backdrop of continuing civil unrest in the Gulf state.
There were demonstrations against the ruling family attended by tens of thousands of people on Friday night.
But the race is being held under heavy security and, unlike last year, no F1 personnel have encountered any trouble unless they have gone out to the areas where the demonstrations and occasional riots are taking place.
On Saturday, F1 boss Bernie Ecclestone told BBC Sport the Bahraini government were "stupid" for holding the race, which has become a platform for protests against the regime.
1. Nico Rosberg (Ger) Mercedes 1min 32.330secs
2. Sebastian Vettel (Ger) Red Bull 1:32.584
3. Fernando Alonso (Spa) Ferrari 1:32.667
4. Felipe Massa (Brz) Ferrari 1:33.207
5. Paul di Resta (GB) Force India 1:33.235
6. Adrian Sutil (Ger) Force India 1:33.246
7. Mark Webber (Aus) Red Bull 1:33.078* Three-place grid penalty
8. Kimi Raikkonen (Fin) Lotus 1:33.327
9. Lewis Hamilton (GB) Mercedes 1:32.762* Five-place grid penalty
10. Jenson Button (GB) McLaren no time
- - - - - - - - - -
11. Romain Grosjean (Fra) Lotus 1:33.762
12. Sergio Perez (Mex) McLaren 1:33.914
13. Daniel Ricciardo (Aus) Toro Rosso 1:33.974
14. Nico Hulkenberg (Ger) Sauber 1:33.976
15. Valtteri Bottas (Fin) Williams 1:34.105
16. Jean-Eric Vergne (Fra) Toro Rosso 1:34.284
- - - - - - - - - -
17. Pastor Maldonado (Ven) Williams 1:34.425
18. Charles Pic (Fra) Caterham 1:35.283
19. Jules Bianchi (Fra) Marussia 1:36.178
20. Giedo van der Garde (Ned) Caterham 1:36.304
21. Max Chilton (GB) Marussia 1:36.476
22. Esteban Gutierrez (Mex) Sauber 1:34.730* Five-place grid penalty