Felipe Massa claimed his first pole since 2008 as Williams locked out the front row in Austria.
Williams were also fastest in free practice three, with Bottas upstaging Mercedes late in the session. The Finn was only 0.050s up on Hamilton, and Massa was only 0.003s behind the Brit in third. Fourth place Daniil Kvyat was also within a tenth of Bottas' quickest lap.
Rosberg was only fifth after an issue with his differential led to handling problems.
Alonso improved on Friday posting a 1m10.054, however he dropped three positions to sixth. Ricciardo and Magnussen followed the Spaniard. Kimi Raikkonen was ninth, heading Sebastian Vettel, Hulkenberg and Maldonado's Lotus.
All these drivers were within a second of Bottas. The short, but high speed, nature of the track is to blame. Times are only around 70 seconds, and the circuit only consists of nine corners.
Jean-Eric Vergne was left 13th after a disappointing day. Romain Grosjean, Perez, the Sauber pair of Sutil and Gutierrez and Bianchi's Marussia round out the top 18.
Kamui Kobayashi improved to 1m12.320s for Caterham, ahead of teammate Ericsson on 1m12.892s. Max Chilton was plagued with problems, and finished second from bottom.
The final car on the billing was Jenson Button, who only managed four laps after losing engine braking and suffering a small brake fire.
In qualifying, Massa finished 0.087s ahead of teammate Valtteri Bottas to complete a Williams front row, the first since the 2003 German Grand Prix.
Nico Rosberg was third fastest, however teammate Lewis Hamilton was unable to set a time in Q3 after a spin in the closing stages of qualifying.
Ferrari's Fernando Alonso will start fourth, ahead of the Red Bull of Daniel Ricciardo. The Australian's teammate, Vettel, was knocked out in Q2 and will start 12th after qualifying 13th. This is due to Sergio Perez's penalty after a collision with Massa in Canada.
Many drivers had times disallowed for not respecting track limits on the straight between turn 8 and turn 9. One occasion saw Sutil's time be disallowed, leaving him 17th. His time (1m10.774s) would have been enough to make it into Q2.
Gutiererz in the other Sauber was also knocked out in Q1, just ahead of Jules Bianchi, Kamui Kobayashi, Max Chilton and Marcus Ericsson.
Free Practice 3
- Valtteri Bottas #77, Williams, 1:09.848
- Lewis Hamilton #44, Mercedes, 1:09.898, +0.050
- Felipe Massa #19, Williams, 1:09.901, +0.053
- Daniil Kvyat #26, Toro Rosso, 1:09.927, +0.079
- Nico Rosberg #6, Mercedes, 1:09.999, +0.151
- Fernando Alonso #14, Ferrari, 1:10.054, +0.206
- Daniel Ricciardo #3, Red Bull, 1:10.392, +0.544
- Kevin Magnussen #20, McLaren, 1:10.449, +0.601
- Kimi Raikkonen #7, Ferrari, 1:10.488, +0.640
- Sebastian Vettel #1, Red Bull, 1:10.562, +0.714
- Nico Hulkenberg #27, Force India, 1:10.683, +0.835
- Pastor Maldonado #13, Lotus, 1:10.776, +0.928
- Jean-Eric Vergne #25, Toro Rosso, 1:11.043, +1.195
- Romain Grosjean #8, Lotus, 1:11.103, +1.255
- Sergio Perez #11, Force India, 1:11.235, +1.387
- Adrian Sutil #99, Sauber, 1:11.294, +1.446
- Esteban Gutierrez #21, Sauber, 1:11.558, +1.710
- Jules Bianchi #17, Marussia, 1:11.848, +2.000
- Kamui Kobayashi #10, Caterham, 1:12.320, +2.472
- Marcus Ericsson #9, Caterham, 1:12.892, +3.044
- Max Chilton #4, Marussia, 1:12.915, +3.067
- Jenson Button #22, McLaren, 1:14.237, +4.389
- Felipe Massa #19, Williams, Q1 1:10.292, Q2 1:09.239, Q3 1:08.759
- Valtteri Bottas #77, Williams, Q1 1:10.356, Q2 1:09.096, Q3, 1:08.846
- Nico Rosberg #6, Mercedes, Q1 1:09.695, Q2 1:08.974, Q3 1:08.944
- Fernando Alonso #14, Ferrari, Q1 1:10.405, Q2 1:09.479, Q3 1:09.285
- Daniel Ricciardo #3, Red Bull, Q1 1:10.395, Q2 1:09.638, Q3 1:09.466
- Kevin Magnussen #20, McLaren, Q1 1:10.081, Q2 1:09.473, Q3 1:09.515
- Daniil Kvyat #26, Toro Rosso, Q1 1:09.678, Q2 1:09.490, Q3 1:09.619
- Kimi Raikkonen #7, Ferrari, Q1 1:10.285, Q2 1:09.657, Q3 1:10.795
- Lewis Hamilton #44, Mercedes, Q1 1:09.514, Q2 1:09.092, Q3 No time
- Nico Hulkenberg #27, Force India, Q1 1:10.389, Q2 1:09.624, Q3 No time
- Sergio Perez #11, Force India, Q1 1:10.124, Q2 1:09.754
- Jenson Button #22, McLaren, Q1 1:10.252, Q2 1:09.780
- Sebastian Vettel #1, Red Bull, Q1 1:10.630, Q2 1:09.801
- Pastor Maldonado #13, Lotus, Q1 1:10.821, Q2 1:09.939
- Jean-Eric Vergne #25, Toro Rosso, Q1 1:10.161, Q2 1:10.073
- Romain Grosjean #8, Lotus, Q1 1:10.461, Q2 1:10.642
- Adrian Sutil #99, Sauber, Q1 1:10.825
- Esteban Gutierrez #21, Sauber, 1:11.349
- Jules Bianchi #17, Marussia, 1:11.412
- Kamui Kobayashi #10, Caterham, 1:11.673
- Max Chilton #4, Marussia, 1:11.775
- Marcus Ericsson #9, Caterham, 1:12.673
Images: Williams Martini Racing, Mercedes AMG Petronas