Lewis Hamilton will start from second place for the Austrian Grand Prix after he was beaten to pole position by his Mercedes team-mate Valtteri Bottas.
Hamilton made a mistake on his first run in the shootout for pole, and then had no answer for Bottas in his final attempt as he finished just 0.019 seconds behind the Finn.
Sebastian Vettel, who trails Hamilton by 14 points in the championship, qualified third, but he will now head to the stewards after he was deemed to have blocked the Renault of Carlos Sainz.
If the Ferrari driver is found guilty, he will be moved down the grid. Kimi Raikkonen finished fourth ahead of Red Bull's Max Verstappen.
Mercedes, boosted by a number of updates this weekend, have not lost in Austria since the venue returned to the Formula One calendar four years ago.
And although it looked as though Hamilton would secure the 50th pole of his Mercedes career it was Bottas who delivered one of his finest qualifying displays to see off the four-time world champion.
Hamilton ran wide at turn three on his penultimate flying lap which handed the advantage to Bottas.
"It was not too bad," Hamilton said. "Valtteri did a stunning lap and I made a mistake. I am happy with the second lap, though, and this is a great result for the team."
Bottas, who is yet to open his winning account this season, added: "The car felt so good. In the last run I knew there was a tenth or so to improve and I managed to find it.
"I need a good clean start tomorrow and there is no need to be a hero in turn one. I can guarantee I am more hungry for the win than anyone else on the grid."
Fernando Alonso managed to haul his under-performing McLaren car into the second phase of qualifying, but then broke his front wing.
Alonso ran off at the penultimate corner and the punishing kerbs had no mercy for the Spaniard as he damaged his McLaren.
The double world champion qualified 14th, two seconds off the pace, and two places ahead of his team-mate Stoffel Vandoorne.
Alonso has out-qualified the Belgian, who could lose his seat to British teenager Lando Norris next year, at every round this season.
While Vandoorne may be heading out of F1, Sauber rookie Charles Leclerc is on the rise, and is in line to replace Raikkonen at Ferrari in 2019.
Leclerc was 13th of the 20 drivers, and although he will serve a five-place grid penalty for a gearbox change, he will still start ahead of his team-mate Marcus Ericsson who propped up the time sheets.
Romain Grosjean finished an impressive sixth for Haas ahead of Daniel Ricciardo in the Red Bull.