Vettel, whose second place finish moved him 20 points ahead of Lewis Hamilton at the top of the drivers’ championship, said: "I was struggling a bit in the first part and much happier in the second stint. The last laps were very close. I think I needed one more lap because Valtteri was struggling to get up the hill."
Bottas, 27, who is in his first season with Mercedes after replacing the 2016 world champion Nico Rosberg, is third in the drivers’ championship 19 points behind stablemate Hamilton who was fourth.
"I gave it everything I could," said Hamilton after the race. "But I can only take heart from the final part of the race and move on. It has been a difficult weekend."
Hamilton said he was disappointed when Vettel was not sanctioned further by the sport's ruling body for running into his car during last month's Azerbaijan Grand Prix.
The 32-year-old Briton endured another setback in Austria when he was given a five place grid penalty for an unscheduled new gearbox.
"I have a couple of down days now," said Hamilton. "And then we go to Silverstone and it will be nice to race in front of a home crowd and to start with a clean slate."