It was even closer behind the Silver Arrows: Sebastian Vettel claimed third for Red Bull, but less than four hundredths of a second covered the German, the two Williams of Valtteri Bottas and Felipe Massa, and Daniel Ricciardo in the second RB10.
Q1 saw plenty of action, as Hamilton led with way with 1m 15.750s on the soft Pirellis. McLaren duo Kevin Magnussen and Jenson Button were second and fourth on supersofts, as third fastest Rosberg - and the Williams and Red Bulls - stayed on the yellow-marked rubber.
Kamui Kobayashi, Romain Grosjean, Kimi Raikkonen, Sergio Perez and Vettel had off-track moments or spins, before Marcus Ericsson backed his Caterham into the wall at Turn 9 with 20 seconds to go, bringing out the red flag.
The incident prevented the rest of the field from improving in the final moments, meaning that Marussia duo Max Chilton and Jules Bianchi had to settle for 18th and 19th respectively, 1m 18.348s to 1m 18.359s.
Pastor Maldonado was 17th for Lotus on 1m 18.328s, his session ending early when he ground to a halt at the Turn 3 escape road. Kobayashi meanwhile headed Ericsson in the fight for 20th, 1m 19.278s to 1m 19.820s, but will start behind his Caterham team mate after a five-place grid penalty for a gearbox change prior to Q1.
Missing from this session was the unfortunate Esteban Gutierrez, who crashed during FP3 and damaged his chassis. The Mexican was forced to miss qualifying and will therefore start Sunday's race from the pit lane.
Felipe Massa sprang a big surprise in Q2 when his 1m 15.773s lap trumped the initial efforts of Hamilton and Rosberg, but eventually the former posted 1m 15.054s and the latter 1m 15.289s.
Behind them there was a dogfight which saw third to 15th covered by a second. Jean-Eric Vergne managed 1m 16.255s to seal tenth, and in the process bumped the lead Force India of Nico Hulkenberg - who set 1m 16.300s - into the drop zone.
Magnussen was 12th on 1m 16.310s, with Force India's Perez next on 1m 16.472s ahead of Lotus' Grosjean on 1m 16.687s, Toro Rosso's Daniil Kvyat on 1m 16.713s after a trip over the chicane spoiled a subsequent effort, and Adrian Sutil bringing up the rear for Sauber with 1m 17.314s.
Thus the scene was set for Q3, and that's where the advantage swung Rosberg's way. His opening run was the first lap of the weekend to dip below 1m 15s: 1m 14.946s to Hamilton's 1m 15.034s, the Englishman having to deal with some traffic in the third sector.
On their final runs he could still not deny Rosberg however: the German improved to 1m 14.874s, with Hamilton less than one tenth of a second short on 1m 14.953s.
Behind them, Vettel finally vaulted up to third on 1m 15.548s, ahead of the Williams duo, as Bottas pipped Massa with 1m 15.550s to 1m 15.578s. Right behind them, Ricciardo was sixth on 1m 15.589s as Fernando Alonso's best left Ferrari only seventh on 1m 15.814s.
Vergne's strong weekend continued with eighth on 1m 16.162s, which Button narrowly failed to match for McLaren with 1m 16.182s, as Raikkonen took 10th on 1m 16.214s – still within seven tenths of Vettel's best.
Thus the grid will provisionally line up: Rosberg, Hamilton, Vettel, Bottas; Massa, Ricciardo; Alonso, Vergne; Button, Raikkonen; Hulkenberg, Magnussen; Perez, Grosjean; Kvyat, Sutil; Maldonado, Chilton; Bianchi, Ericsson; Kobayashi, Gutierrez.