The only other driver within a second of Hamilton was Kimi Raikkonen, the Ferrari driver 0.661s slower than the benchmark.
Kevin Magnussen was best of the rest in seventh for Haas, a tenth ahead of Fernando Alonso's McLaren.
Hamilton asserts dominance
After the opening gambits, it was Bottas and Hamilton who traded fastest lap, with the Finn having the advantage, but only after Hamilton had aborted a potentially faster lap than the 1:05.700s that Bottas had set on the red marked super-soft tyre.
Once the initial runs had been completed, drivers switched to the purple marked ultra-soft tyres, and Bottas improved, but only by 0.001s after running wide in the final two corners and lost a heap of time.
He soon spun at Turn 6, before Vettel took top spot, but only briefly before Hamilton's own ultra-soft run resulted in the 1:05.483s that would see him top the session.
It was also the new fastest lap of the Red Bull Ring, the second time Hamilton had set that after doing the same in first practice.
Conditions still tricky
As cloud cover threatened a cloudburst, which didn't materalise, understeer was a recurring theme, especially through the in-field, with Bottas, Alonso and Marcus Ericsson in the Sauber all going off and into the gravel.
Turn 9 was also a tricky point, with Carlos Sainz running wide, before hitting a rumble strip and the car violently snapping to the left.
Grosjean also ran wide here, and immediately told his Haas team that there was a problem with the car.
Alonso's session was disrupted, following a floor issue, but he still managed to haul the McLaren-Honda into the top eight.
Stoffel Vandoorne also had a reliable day, a tenth behind Alonso, but four places down.
There was more misery for Jolyon Palmer, as his Renault developed another engine problem, restricting him to only a handful of laps, while team-mate Hulkenberg was able to secure a top 10 place in the session.
The two Sauber's were more than a second off the pace, ending up three seconds behind Hamilton, and 1.1s slower than the handicapped Palmer.
The session ended with Danill Kvyat's Toro Rosso crawling back into the pits with the rear brakes on fire.
|4.||Max Verstappen||Red Bull||+0.349s|
|5.||Daniel Ricciardo||Red Bull||+0.390s|
|11.||Esteban Ocon||Force India||+1.366s|
|13.||Danill Kvyat||Toro Rosso||+1.423s|
|15.||Carlos Sainz Jr||Toro Rosso||+1.617s|
|17.||Sergio Perez||Force India||+2.026s|