The Finn, who was also fastest in the opening session, improved on his afternoon benchmark with a lap of one minute 36.256 seconds under the Yas Marina floodlights.
The 30-year-old was 0.310 seconds quicker than Hamilton, who was third in the morning, and looked strong around the 5.5km layout.
Bottas is set to start tomorrow’s race from the back of the grid, however, with the Finn penalised for exceeding his engine allocation.
The championship runner-up’s session was far from flawless, with Bottas and Haas driver Romain Grosjean in an unusual collision for a Friday when nothing is at stake.
The Mercedes suffered a broken front wing after the Finn tried to dive through on the inside of the Frenchman, whose car was also damaged.
Charles Leclerc, seventh in the first session, ended the day with the third fastest time ahead of Ferrari team mate Sebastian Vettel.
The 22-year-old Monegasque suffered a scare during the session, clouting the same barriers that Vettel had spun into only hours earlier.
The German, who collided with Leclerc in an incident that put both Ferraris out of the last race in Brazil, had been fifth in the morning despite the smash that ended his session.
Max Verstappen, winner two weeks ago in Brazil, dropped from second to fifth for Red Bull ahead of Thai team mate Alexander Albon.
Grosjean was seventh ahead of Racing Point’s Sergio Perez. Daniil Kvyat and Pierre Gasly rounded out the top 10 for Toro Rosso.
Both of Friday’s sessions were interrupted by red flags with the collision between Bottas and Grosjean halting track action briefly in the evening.
An engine failure for Australian Daniel Ricciardo that saw his Renault spit oil and fire with Gasly close behind was the day’s first interruption.
Vettel’s spin into the barriers also halted the session.
Mercedes have won every race in Abu Dhabi since 2014 and Hamilton, who wrapped up his sixth title two races ago in Austin, has won at Yas Marina a record four times.