Lewis Hamilton eventually edged ahead of Red Bull's Daniel Ricciardo and Mercedes team mate Nico Rosberg, with the top three covered by just over one-tenth of a second.
Four-time world champion Sebastian Vettel and the Ferrari pair of Fernando Alonso and Kimi Raikkonen were also in the hunt, all lapping within 0.7s of the lead Mercedes.
In perfect conditions it was Rosberg who set the pace for most of the session on the soft-compound Pirelli rubber, lapping in 1m17.351s. In comparable conditions and on the same tyre Hamilton's best was 1m 17.866s as he struggled with a loose rear end. Ricciardo was third on 1m 18.596s.
The Australian then jumped ahead with 12 minutes remaining, with a lap of 1m 16.808s after switching to the supersofts which really seemed to suit the RB10. Vettel followed suit, but the best he could muster on the red-marked compound was 1m 17.184s.
Then the Mercedes came back out on the tyres, but though Hamilton improved a lot over his soft-compound time, his 1m 16.758s only narrowly bettered Ricciardo. When Rosberg made his effort, his best was 1m 16.874s.
Much of that, as ever round here, was dependent on how clean a run you got, and Vettel in particular lost a better lap when he came across a Caterham completing its best lap.
Ferrari were fifth and sixth, as Alonso and Raikkonen proved very evenly matched, albeit with disappointing 1m 17.428s and 1m 17.448s laps apiece, while behind them Sergio Perez again aced Force India partner Nico Hulkenberg, with 1m 17.725s to 1m 18.074s.
Continuing the two-by two theme, the Toro Rossos completed the top 10. Jean-Eric Vergne made a quick trip down the Ste Devote escape road but was ninth on 1m 18.136s, while the hugely impressive Daniil Kvyat - on his first-ever experience of the Monaco street course, remember - all but matched him with 1m 18.166s.
Kevin Magnussen was 11th with 1m 18.249s in the faster McLaren, with Jenson Button right on his tail with 1m 18.262s, as Valtteri Bottas edged out Felipe Massa in the Williams camp, 1m 18.430s to 1m 18.542s.
The symmetry was spoiled when Adrian Sutil pulled out a 1m 18.598s for Sauber, as Romain Grosjean took his Lotus round in 1m 18.776s. A tremendous effort from Jules Bianchi gave Marussia a huge boost as he took 17th on 1m 18.872s to beat Pastor Maldonado (1m 19.118s) and Esteban Gutierrez (1m 19.149s).
After their spurt in FP2, Caterham fell back behind Marussia, with Kamui Kobayashi and Marcus Ericsson sandwiching Marussia's Max Chilton. The Japanese driver managed 1m 20.271s, the Englishman 1m 20.394s and the Swede, the other Ste Devote escape road visitor, on 1m 20.589s.
So now it will come down to who among the fast quartet can hone their car the best for qualifying, and who manages to get the cleanest lap. It promises to be thrilling.