Rosberg nipped defending Formula One champion Sebastian Vettel of Red Bull by a quarter of a second for his second career pole position.
"That's a fantastic result," said Rosberg, whose trip around the 3.195-mile course was timed at 1 minute, 32.330 seconds. "Of course, tomorrow will be a tough race for sure, with rear tire degradation especially. A lot can happen."
Rosberg will try to unseat Vettel, the defending Bahrain winner.
Vettel holds a 3-point lead in the F1 points race over Kimi Raikkonen of Lotus. Raikkonen took eighth in Saturday's qualifying.
Rosberg's pole was the second in a row for Mercedes. His teammate, Lewis Hamilton, was on the pole at last weekend's Chinese Grand Prix.
Hamilton turned in the fourth-fastest time Saturday but was knocked down to ninth position due to a penalty for a gear-box change.