The Williams of Valtteri Bottas and Felipe Massa also got within a second of Hamilton, with Lotus’s Pastor Maldonado leading the chasing pack in seventh. Daniil Kvyat, meanwhile, spun into the Turn 4 gravel after just four laps, although some slick work from the marshals and the Red Bull mechanics meant the Russian was able to get back on track in the final three minutes.
It took a while for the session to really get going, as the track remained slippery and strong winds caused fresh headaches, but in the end it exploded into a great shoot-out between Mercedes and Ferrari.
Hamilton had languished in ninth place after a less than stellar effort on Pirelli's medium tyres, but on the softs he got it all together in the closing 10 minutes. The result was 1m 34.599s with the fastest times in the first and third sectors. But Vettel was out in the Ferrrari at the same time, and he snatched away the second sector benchmark to set a 1m 34.668s - which was just 0.069s adrift.
Rosberg's best of 1m 34.968s left him third, while Raikkonen's 1m 35.141s was good enough for fourth - the pair similarly split by just fractions of a second.
Indicating that they are getting a better handle on their set-up, Williams had Bottas in fifth on 1m 35.393s and Massa sixth on 1m 35.471s. After that, however, it was a slight jump to Maldonado's seventh-best 1m 36.307s for Lotus.
Daniel Ricciardo shadowed the Venezuelan with 1m 35.335s for Red Bull, as Nico Hulkenberg showed strongly for Force India with 1m 35.421s and Felipe Nasr nudged Jenson Button out of the top 10 with 1m 36.429s for Sauber. The McLaren driver hung on to an encouraging 11th with 1m 36.488s, while Kvyat snatched 12th at the flag with 1m 36.548s.
Marcus Ericsson was 13th on 1m 36.612s in the second Sauber, ahead of Max Verstappen's Toro Rosso on 1m 36.684s, Sergio Perez's Force India on 1m 36.727s, Fernando Alonso's McLaren on 1m 36.899s and Carlos Sainz's Toro Rosso on 1m 36.979s.
Romain Grosjean struggled throughout with brake locking on his Lotus and could only manage 1m 37.151s - within one second of his team mate, but still not enough to be higher than 18th. Will Stevens led Marussia team mate Robert Merhi, with 1m 39.745s to 1m 40.541s, in the fight for 19th.
While conditions are not fully representative of what we can expect this evening in qualifying, we now have a clearer picture of form - which suggests that qualifying is going to be a real nail-biting affair...