The reigning world champion had to wait until the 38th minute of the session before taking to the track, as Mercedes dealt with the engine issue that curtailed his running in FP1. However once he did get going, Hamilton worked his way down to 1m 39.790s on the medium tyre to eclipse Kimi Raikkonen’s best effort for Ferrari.
Nico Rosberg was third quickest in the second Mercedes, but it was a session in which the true pecking order was somewhat disguised as many drivers found themselves struggling for grip and balance on Pirelli's medium tyre.
It was Raikkonen and Sebastian Vettel who set the early pace for Ferrari - the duo venturing out shortly after Marussia’s Will Stevens led the field out - before Rosberg took over at the top.
The Ferrari pair were the first to bolt on the medium compound, but their attempts to improve were scuppered when Roberto Merhi in the second Marussia spun at Turn 11, briefly bringing out the red flags.
As the session resumed Vettel promptly spun in the same corner, and Rosberg, now like the Ferrari drivers also on the medium tyre, got away with a big slide which nevertheless spoiled his own attempt to improve.
Others, however, made gains, notably the Williams duo of Felipe Massa and Valtteri Bottas, who had reverted their cars to a more standard set-up after trying something that didn’t work this morning.
In the end though it was Hamilton who came to the fore. After a couple of inconclusive laps on the hard tyres, he put on a set of mediums and blasted confidently round in 1m 39.790s to take fastest time by 0.373s from Raikkonen, whose best in slightly better conditions was 1m 40.163s. Behind them, Rosberg trimmed down to 1m 40.218s for third but Vettel’s 1m 40.652s was beaten by Daniil Kvyat, and the Williams drivers, leaving the four-time champion only seventh for Ferrari.
Kvyat had a decent session which yielded a best of 1m 40.346s, a significant boost for both Red Bull and Renault, but later cruised in complaining of engine problems. Team mate Daniel Ricciardo was only 10th, on 1m 41.799s.
Bottas lapped in 1m 40.450s with Massa right behind on 1m 40.560s, for fifth and sixth, but both were clearly struggling with oversteer, particularly in the advanced stages of their long runs.
Max Verstappen was Toro Rosso’s star this time with an eighth fastest 1m 41.220s, as team mate Carlos Sainz Junior didn’t get a decent run on the mediums and set the 14th fastest time of 1m 42.291s on the hards. Marcus Ericsson was the faster Sauber driver in ninth on 1m 41.261s, as Pastor Maldonado survived a loose left-hand sidepod to take 11th for Lotus on 1m 41.877s as he fended off Sauber’s Felipe Nasr on 1m 41.988s.
The Force Indias were 13th and 15th, with Sergio Perez on 1m 42.242s and Nico Hulkenberg on 1m 42.330s.
McLaren had another gruelling day, as Fernando Alonso and Jenson Button struggled with lack of power, massive understeer and poor turn-in. Both also had off-track adventures, as the Spaniard bullied his MP4-30 round in 1m 42.506 for 16th while the Englishman shadowed him in 17th on 1m 42.637s.
Romain Grosjean looked good early on as he set 1m 42.948s on the hard tyre, but progressive loss of power brought his session to a premature halt with 38 minutes to go and limited him to 18th overall.
Marussia again managed good mileage, and Stevens set a best of 1m 45.704s on the medium tyres for 19th; prior to his spin, Merhi recorded 1m 47.229s which left him 20th.
Due to the changing track conditions the session was once again somewhat inconclusive, so we may have to wait until FP3 tomorrow - possibly even qualifying - to ascertain the true pecking order and speed differentials.