The Englishman, who didn't make it out of the garage until the half hour mark as the team resolved his F1 W05's suspension issue, deprived Ferrari's Fernando Alonso of the top slot as his lap of 1m 38.315s undercut the Spaniard's 1m 38.456s by 0.141s. Nico Rosberg was third fastest with 1m 38.726s in the second Mercedes as Daniel Ricciardo narrowly beat Red Bull team mate Sebastian Vettel to fourth with 1m 38.811s to 1m 39.015s.
Conditions remained cold, with track temperature rising from an initial 21 degrees Celsius to 26, and the ambient from 14 to 16, and many drivers reported graining when they completed race simulation runs late in the session. Hamilton was one of several drivers, including Force India's Nico Hulkenberg and Marussia's Max Chilton, to have a minor off during this period.
Felipe Massa was sixth for Williams on 1m 39.118s, chased on 1m 39.283s by Ferrari's Kimi Raikkonen who had time to make up after his problems in FP1. Jenson Button was eighth for McLaren with 1m 39.491s as Romain Grosjean gave Lotus some much-needed encouragement with 1m 39.537s for ninth. Team mate Pastor Maldonado, however, blotted his copy book again by crashing as he came into the pits, after recording a best of 1m 40.455s which left him 18th.
Daniil Kvyat continued to impress by rounding out the top 10 on 1m 39.648s for Toro Rosso, ahead of Force India's Nico Hulkenberg on 1m 39.736s, McLaren's Kevin Magnussen on 1m 39.744s, Toro Rosso's Jean-Eric Vergne on 1m 39.759s and Valtteri Bottas who got his Williams back from Felipe Nasr after FP1 and recorded 1m 39.830s.
Bahrain podium man Sergio Perez was only 15th for Force India, with 1m 40.124s, which bracketed him with the Saubers of Esteban Gutierrez and Adrian Sutil on 1m 40.359s and 1m 40.395s respectively.
Jules Bianchi took a big jump over Caterham for Marussia, with a lap of 1m 42.327s for 19th, as team mate Max Chilton led the green cars of Kamui Kobayashi and Marcus Ericsson with 1m 43.473s to 1m 43.530s and 1m 43.679s. Kobayashi was told to pit during his second lap, using either fourth or fifth gear, after the team detected an imminent problem, but was able to get back on track later on.