The Dutchman pipped Bottas by just 0.043 seconds, with the Racing Points of Sergio Perez and Lance Stroll third and fourth.
Renault’s Daniel Ricciardo had a heavy crash at Turn Nine early in the session, and limped away from the car.
World champion Lewis Hamilton was only sixth, unhappy with both the balance of his Mercedes and his fastest lap.
Teams were trying harder than usual in the session as there is an outside chance of it defining the grid order if cars cannot run in the predicted rain on Saturday.
That is still an unlikely scenario, however, as there a number of potential solutions if qualifying is washed out.
Verstappen was impressive on both short and long runs, beating Bottas on his qualifying simulation lap, and then lapping at very similar pace when they switched to race preparation, despite being on the harder medium tyre with the Finn on the soft.
Hamilton said: “It felt relatively normal but it was quite far off. There is a lot of work needed to do to find out why. I was feeling pretty good in P1 and at the start of P2 but then it started to drop off. It does seem the others are pretty quick or we have slowed down.”
Racing Point’s pace was a further emphasis of their rise to become real contenders this season with a car that has been dubbed the ‘Pink Mercedes’ for its likeness to last year’s world championship-winning car.
Perez was just 0.217secs off the outright pace, with Stroll his usual 0.3secs or so behind his team-mate.
McLaren’s Carlos Sainz was fifth, ahead of Hamilton and the second Red Bull of Alexander Albon, who had two spins in the course of the day.
Sainz’s team-mate Lando Norris was eighth fastest, limiting his running because of some pain he was experiencing when braking. The Briton, who scored his maiden podium last weekend, was also handed a three-place grid penalty for overtaking while passing yellow caution flags in first practice.
He said: “I’ve been struggling a bit physically with something; I don’t know what it is. It’s been pretty painful, particularly in the high-speed corners and when I’m braking. Something in my chest or something. I don’t know where. I hit the brakes and the compression it spikes up massively.”
Ricciardo said the crash was his mistake.
“I’m OK,” he said. “I hit my knee on the steering column but it’s just a bit bruised. It went so quickly.
“A little bit of wind and probably coming in with a little bit too much speed for the conditions.”
Charles Leclerc was the fastest Ferrari in ninth place after trialling a new front wing and new floor, the first of a series of developments scheduled to come to the car aimed at reducing the performance shortfall it suffered at the opening race of the season.
He and team-mate Sebastian Vettel, who was 16th fastest after having his best lap deleted for exceeding track limits, said the upgrades were “positive” but that the team still needed to work out how to get the best out of them.
This is the first time in F1 history that a circuit has hosted two races in a single season, this weekend’s event named after the region in which the Red Bull Ring is situated, following on from last Sunday’s Austrian Grand Prix. (Courtesy BBC)