The Finn topped the times with an early best lap in one minute and 26.732 to end up outpacing the defending five-time champion and series leader by 0.069 seconds.
Charles Lerclerc was third ahead of his Ferrari team-mate Sebastian Vettel, the Monegasque driver lapping two-tenths off Bottas’s best pace.
Pierre Gasly followed up his time-topping performance in the morning’s opening session by taking fifth for Red Bull ahead of British rookie Lando Norris of McLaren and Max Verstappen in the second Red Bull.
Carlos Sainz was eighth in the second McLaren ahead of Alex Albon of Toro Rosso and Sergio Perez of Racing Point on an overcast and cool day with a gusty wind in central England.
The session was largely uneventful, but did feature a rare off-track excursion across some grass by Hamilton.
British rookie George Russell of Williams was hit by gearbox problems while Daniel Ricciardo stopped on track when his Renault’s engine cut out. Frenchman Romain Grosjean was also delayed by a hydraulics leak.