Max Verstappen ended up just a tenth back of the German in his upgraded RB13, with Red Bull team mate Daniel Ricciardo a further four tenths down in sixth.
In sunny and warm conditions, Felipe Massa had set the opening pace for Williams with 1m 25.894s as everyone used the hard Pirelli’s initially. The Brazilian was then supplanted by his old team mate Bottas with 1m 25.027s, before Kimi Raikkonen went quickest on 1m 24.691s just as Sebastian Vettel’s sister SF70H stopped at the exit to the pit lane after five laps, with something apparently awry in the gearbox.
Bottas then traded fastest times with team mate Hamilton, with the Briton eventually gaining the early edge with a time of 1m 23.531s.
As all the drivers made the switch to medium rubber, Vettel was able to rejoin the fray after a short break, and celebrated by going fastest with 1m 22.600s. But the German’s stay at the top was brief as Bottas, similarly shod, clocked 1m 21.550s before Hamilton went back on top with 1m 21.521s - already almost half a second quicker than his 2016 pole time.
As Raikkonen improved to 1m 22.456s, so Vettel fell to fourth, lending Mercedes an unexpectedly big early advantage.
Red Bull had a slightly discordant session, with both cars undergoing work at times, but there were signs that the latest upgrade has wrought improvement with the lead RB13 within 1.1s of the Mercedes.
Haas also showed promise. Kevin Magnussen won the toss for the latest upgrade and used it to go seventh on 1m 23.670s ahead of team mate Romain Grosjean on 1m 23.758ss, but the Dane went off the road at Turn 4 late in the session after an apparent gearbox issue.
Sergey Sirotkin, standing in for Jolyon Palmer at Renault, and home favourite Fernando Alonso also hit technical trouble, the latter just three corners into his first lap of the day when his Honda-powered McLaren spun to a smoky halt. The Spaniard was unable to rejoin, with McLaren forced into an engine change before FP2.
The only other Spaniard in the field, Carlos Sainz, rounded out the top ten in his Toro Rosso, finishing just behind Nico Hulkenberg’s Renault.
WATCH: FP1 highlights from Spain
Unfortunately, we are unable to play the video at this time.
Error Code: UNKNOWN