After missing a lot of running during yesterday's FP1, the two Haas cars of Romain Grosjean and Kevin Magnussen were out on track straight away, Magnussen three tenths ahead of his teammate on the timesheet in the opening minutes of the session.
Drops of rain started to fall fifteen minutes into the session as clouds loomed around the circuit, with teams reporting rain at some sections of the circuit, while other parts were dry.
Red Bull's Alexander Albon was the first of the frontrunners to appear on the track, beating Magnussen's time by almost eight tenths on his first attempt, as teammate Max Verstappen left the pits on the soft tyre.
Bottas then went fastest over Mercedes teammate Lewis Hamilton, with a time of 1:43.813. Esteban Ocon continued the promising form for Renault, setting a time good enough for fourth during his opening laps of the session.
Verstappen looked to have enough to keep with the Mercedes in the session, with his best time coming within a tenth of Bottas' fastest.
Fourth went to Albon while Bottas finished in fifth. Verstappen ended the session in sixth, while Daniel Ricciardo ended the final practice in seventh.
With over twenty minutes left in the session, Racing Point's Sergio Perez reported rain on the circuit, while reports from Sky F1's Martin Brundle suggested more rain was starting to fall at Eau Rouge.
For the final ten minutes of the session, the majority of the field left the pits on the soft tyres, looking to use the last couple of minutes for some quick qualifying lap times.
Hamilton took the fastest time ahead of Ocon, as Bottas locked up at La Source. Multiple drivers complained of cars slowing at the Bus Stop chicane, with a number of cars slowing in order to gain an advantage from the car in front.
Eighth and ninth went to Lance Stroll and Carlos Sainz, while Perez rounded out the top ten.
Ferrari suffered massively in the session, with Charles Leclerc only setting a time good enough for seventeenth, while Sebastian Vettel was last out of twenty cars in the session, with the team looking to be an average of two seconds off the pace to Mercedes.
Bahrain International Circuit - Winter testing