Both Red Bull drivers had staked their claims for pole position when Hamilton blitzed to the front of the grid with a 1:13.967 - only for Rosberg to eke out another nine-hundredths of a second moments later.
It was an agonising near miss for Hamilton, who thought for a few moments that he'd claimed a first pole on the streets of Monte Carlo. Instead, he suffers the ignominy of being beaten by team-mate Rosberg to pole for the third race in a row.
Sebastian Vettel's final effort was only good enough for third, with team-mate Mark Webber in fourth.
Kimi Raikkonen and Fernando Alonso occupied row three, the best part of a second adrift of the leading time.
Sergio Perez finished seventh, two places ahead of McLaren colleague Jenson Button, with Adrian Sutil separating the pair in his Force India, and Jean-Eric Vergne rounding out the top 10 on his Toro Rosso's first-ever visit to Q3.
"We've got a pretty poor record in converting pole positions into race wins," admitted Mercedes team principal Ross Brawn after qualifying - but the unique nature of the Monaco street circuit, where overtaking is tricky and the surface is more forgiving to tyres, means the Silver Arrows are in a better position to challenge for the Grand Prix.
Q1 began in drying conditions, which made for a thrilling session. Drivers were out instantly, held up briefly as Jules Bianchi’s Marussia ground to a halt, and then setting ever-improving times on intermediate tyres.
In the pits, meanwhile, work was furiously underway from Ferrari and Lotus to get Felipe Massa and Romain Grosjean out on track after major crashes in practice.
Grosjean managed a lap and qualified with ease, but Massa was thwarted.
Paul Di Resta, who has been qualifying strongly so far this season, was a high-profile casualty of the session, with Caterham’s Guido van der Garde sneaking through.
Di Resta was furious, his mood not lightening when his race engineer told him: "That's P17 Paul. I apologise for that. That was a mess."
A fresh sprinkling of rain shook things up once again in Q2. The drivers started on intermediates, but although heavier showers were feared, the conditions improved throughout the 15 minutes.
Slicks became usable with five minutes remaining, and although that sparked a frantic finish to the session, the biggest name to be eliminated was Grosjean, down in 13th.
The rain held off, meaning that Q3 was conducted entirely in the dry - but despite that all 10 drivers were busy throughout the 10 minutes, each having at least two runs.
Red Bull set the early benchmark through Webber and then Vettel, but in the final flurry the Mercedes duo, all-conquering in qualifying at present, struck again.
- Sports & Recreation
- Motor Racing
- Sebastian Vettel
- Romain Grosjean
- Mark Webber
- Fernando Alonso
- Kimi Raikkonen