Their quickest laps, set on the hypersoft tyres, were both set half an hour into the session during the team’s qualifying simulation runs.
Bottas went fastest before he was beaten by his Mercedes teammate, who circulated the 5.8km circuit 0.199s quicker.
The Red Bull duo of Max Verstappen and Daniel Ricciardo were next up on the timesheets in Sochi, the pair both 0.4s off the best time of Hamilton’s.
The gap between the pair of them was very small, as just 0.017s separated the Red Bull pair. Despite their pace, both drivers will face grid penalties for power unit changes this weekend.
Ferrari’s Sebastian Vettel recorded the fifth fastest time, half a second up on his tea-mate Kimi Raikkonen who was sixth.
With 20 minutes of the session remaining, Vettel had a small spin under braking for Turn 13, which was one of the few incidents in a largely uneventful session.
The Force Indias were seventh and ninth – Sergio Perez ahead of Esteban Ocon – while Pierre Gasly (Toro Rosso) and Marcus Ericsson (Sauber) rounded out the top 10.
Conditions on the Black Sea coastline were mild, but cloudier than this morning and despite Raikkonen reporting spots of rain early on it stayed dry throughout.
Kevin Magnussen set the 11th fastest time ahead of his Haas teammate Romain Grosjean, who was 15th on the day that both drivers were confirmed at the team for 2019.
Sauber’s Charles Leclerc finished the session in 13th, splitting the two Renaults.
Slowest of the runners were the two McLarens, Alonso ahead of Vandoorne and finally the two Williams, with Russia’s Sergey Sirotkin, racing at his home circuit for the first time in F1, ahead of Lance Stroll.