Sebastian Vettel was four-tenths of a second clear of team-mate Mark Webber with Lewis Hamilton, in third on his Mercedes debut, the only other man within a second of the world champion.
The German timed his qualifying run in drying conditions perfectly, striking late and watching his rivals try and fail to topple his mark, before easing off his last lap and heading into the pits.
The two Ferraris completed the top five, with Felipe Massa outqualifying his more illustrious team-mate Fernando Alonso.
Nico Rosberg, who had topped Q1 and Q2, could not get his final session right and ended a disappointing sixth, ahead of the two Lotuses of Kimi Raikkonen and Romain Grosjean, with Brits Paul di Resta and Jenson Button rounding out the top 10.
The conditions were much-improved from Saturday evening, when qualifying was postponed after Q1, but were still far from dry.
The weather was overcast, the track damp, and a few spots of rain hung in the air.
A train of cars waited on the pit lane with intermediate tyres in case the weather worsened, but in fact they improved as Q2 wore on, meaning the top positions were in a continual state of flux, and the drivers on track solidly throughout the 15 minutes.
Mercedes – and particularly Rosberg – were pacy throughout, with their closest rivals Red Bull also comfortably ahead of the field.
McLaren gambled on slick tyres, but while Button quickly realised the error of his ways and put in a time that sufficed on intermediates, Sergio Perez persisted and slipped all over the street track, eventually limping out in 15th place.
Most drivers went out early on Q3, sticking with intermediates, but with the early times a clear couple of seconds faster than they had been in the previous session, the switch to slicks was inevitable.
Button, who had stayed in the pits, went first with five minutes to go – his rivals swiftly followed.
And, in fact, the McLaren man found that, with the track getting quicker all the time, he had in fact gone out too early. For a brief moment he slipped in ahead of Vettel and into pole position, only for every other driver to pass him by.
Hamilton took three seconds out of his time, but when Vettel responded by sweeping a further 1.7 seconds clear, there was no way back.
The times continued to drop, but nobody could touch the three-times world champion – and on the strength of this performance, the same may well prove to be true when the race takes place later this evening.