Championship leader Lewis Hamilton achieved his seventh pole position of the season at the brand new Sochi Autodrome circuit.
Hamilton outpaced his Mercedes team-mate Rosberg by two tenths of a second while Valtteri Bottas was a contender for pole.
The Williams driver set the fastest sector times of all in the first two sectors, but the rear stepped out at the final corner and he ran wide, which cost him any chance of beating the Silver Arrows and left him in third position.
McLaren pairing Jenson Button and Kevin Magnussen continued the strong form for the Woking-based team in fourth and sixth place.
In between them is the star of qualifying and home crowd favourite Daniil Kvyat, who qualified a career-best fifth after a strong performance in the Toro Rosso.
Daniel Ricciardo was seventh on a weekend of damage limitation for Red Bull, ahead of the Ferraris of Fernando Alonso and Kimi Raikkonen.
Jean-Eric Vergne, was slowest in Q3 and qualified tenth.
Reigning Formula 1 world champion Sebastian Vettel was eliminated in Q2, his final lap only good enough to take P11, 0.123 seconds slower than his Red Bull stablemate Vergne.
Vettel did not report any specific car problems, although he had been struggling with the balance of his RB10.
Just behind were the Force Indias, with Nico Hulkenberg narrowly ahead of team-mate Sergio Perez.
Esteban Gutierrez won the intra-Sauber battle, over four tenths faster than team-mate Adrian Sutil. The Mexican doing a good job after sitting out the first practice session in favour of Sergey Sirotkin.
Lotus driver Romain Grosjean was slowest in Q2, ending up P16.
Caterham’s Marcus Ericsson continued his recent run of good form with P17, fastest of those to be eliminated in Q1.
Ericsson’s final lap allowed him to jump ahead of Williams driver Felipe Massa, who ended up P18.
Massa had looked set to qualify well, but a fuel pressure problem that the team did not have time to fix meant that he was down on power.
Kamui Kobayashi ended up just a tenth off Massa after improving by almost six tenths on his final run for Caterham.
This was enough to put him ahead of Lotus driver Pastor Maldonado, who received an apology over the radio for what was described as a “shambles” after a problem delayed him.
He has to serve a five-place grid penalty anyway, a consequence of using his sixth engine during the Japanese Grand Prix weekend, so will drop to last.
Max Chilton in the sole Marussia was P21, just over four tenths slower than Maldonado.
Qualifying positions, Russian Grand Prix:
1 Lewis Hamilton Mercedes 1m38.513s
2 Nico Rosberg Mercedes 1m38.713s
3 Valtteri Bottas Williams-Mercedes 1m38.920s
4 Jenson Button McLaren-Mercedes 1m39.121s
5 Daniil Kvyat Toro Rosso-Renault 1m39.277s
6 Daniel Ricciardo Red Bull-Renault 1m39.635s
7 Fernando Alonso Ferrari 1m39.709s
8 Kimi Raikkonen Ferrari 1m39.771s
9 Jean-Eric Vergne Toro Rosso-Renault 1m40.020s
10 Sebastian Vettel Red Bull-Renault 1m40.052s
11 Kevin Magnussen McLaren-Mercedes 1m39.629s*
12 Sergio Perez Force India-Mercedes 1m40.163s
13 Esteban Gutierrez Sauber-Ferrari 1m40.536s
14 Adrian Sutil Sauber-Ferrari 1m40.984s
15 Romain Grosjean Lotus-Renault 1m41.397s
16 Marcus Ericsson Caterham-Renault 1m42.648s
17 Nico Hulkenberg Force India-Mercedes 1m40.058s*
18 Felipe Massa Williams-Mercedes 1m43.064s
19 Kamui Kobayashi Caterham-Renault 1m43.166s
20 Max Chilton Marussia-Ferrari 1m43.649s
21 Pastor Maldonado Lotus-Renault 1m43.205s*
*Magnussen, Hulkenberg and Maldonado have had five-place penalties applied