The Williams team rounds out the Austrian GP top 10: Felipe Massa in ninth place and Lance Stroll in tenth.
Bottas was fully deserving of his second F1 win, putting in a near-perfect qualifying lap on Saturday and then pulling off a miraculously-quick start to maintain his lead in the race. Third place in the championship standings is now occupied by Bottas who has 136 points.
While polesitter Bottas clearly had the upper hand in the first half of the race, his pace dropped in the second as he picked up a tyre blister, setting up a grandstand finish as the hard-charging Vettel did all he could to hunt the Finn down.
Bottas took his second career win, and of the season, from pole position.
For Ricciardo, on his team's "home" Red Bull Ring circuit, it was a fifth consecutive podium finish and the 22nd of his career.
A grid penalty denies Lewis Hamilton Austria pole.
Hamilton, second in the championship behind Vettel, qualified in third place but will start from eighth because of a grid penalty.
Vettel said: "I don't really care". Lewis Hamilton finished in fourth place.
"But I stuck to my breaking points and held off. Max Verstappen got the home podium previous year and I was a bit envious, so it's nice to be up".
Vettel thought his lead might have been even bigger, as he felt Bottas got away with starting prematurely.
The British received the fine in five positions for changing the gearbox.
However, Hamilton failed to force his way on to the podium and has subsequently fallen further behind Vettel in the race for the world title.
Palmer failed to improve on his final lap, dropping almost a tenth compared to his earlier best, so he wound up 16th.
Vettel, Raikkonen and Bottas were the only drivers who used supersofts in Q1, the rest were on ultrasofts.
"Of course, I would have loved to have improved my lap", said Hamilton after the session.