Match ends, Austria 2, Wales 2.
Wales twice squandered a winning position as Austria fought back to draw in a lively 2018 World Cup qualifier.
Joe Allen's half-volley put Wales ahead in Vienna but slack marking allowed Marko Arnautovic to nod level.
Wales were fortunate to regain the lead through Kevin Wimmer's own goal - a day after Austria manager Marcel Koller had called his opponents "lucky".
Arnautovic seized on more sloppy defending to level again but Wales held on for a point to stay top of Group D.
Chris Coleman's side had to cope with spells of heavy Austrian pressure as well as a vociferous Viennese crowd inside a packed Ernst Happel Stadion.
The European Championship semi-finalists also had to contend with an injury to Allen, which will make the midfielder a doubt for Sunday's match at home to Georgia.
The draw means Wales are level on points with Austria, Serbia and the Republic of Ireland - who beat Georgia 1-0 - but they retain their place at Group D's summit thanks to their superior goal difference.
This meeting between Group D's top two seeds was always likely to be a significant fixture, and the game was given added spice by the two managers' pre-match comments.
Coleman dismissed Koller's suggestion Wales were "lucky" to reach the Euro 2016 semi-finals, and he appeared to make a pointed reference to Austria's failure to get out of their group when he said some teams in France "couldn't handle the pressure".
There was a sense of serendipity to the way Koller's comments came back to haunt him shortly before half-time, as Wales regained the lead in extremely fortuitous fashion.
Gareth Bale launched a long throw into Austria's box and, after Sam Vokes' flick-on, James Chester had a header saved by Robert Almer - but the ball bounced off Wimmer and bobbled into the net.
The element of luck was amplified by the fact Wales had been under intense pressure before they scored their second goal, although Arnautovic's second equaliser meant Austria were eventually rewarded for their endeavours.
Wales' toughest test?
On paper, this was Wales' most difficult match of the campaign - Coleman's top seeds away from home against the second-highest ranked team in the group.
Austria had won their past 10 qualifiers and were unbeaten in competitive matches at home since 2012.
With a highly-charged atmosphere inside Ernst Happel Stadion, Koller's men seemed determined to make amends for their disappointing European Championship campaign.
And, despite falling behind to Allen's superb swerving left-footed half-volley, Austria were level five minutes later as Chris Gunter failed to track Arnautovic's run from a lofted David Alaba pass, allowing the Stoke winger to head past Wayne Hennessey.
The hosts took charge from that point and, although Wales reclaimed the lead, Allen's loose pass and a poor touch from Chester allowed Arnautovic to run clear and clip the ball over Hennessey.
A draw was the least Austria's attacking efforts warranted and, for Wales, a point away from home against one of their primary rivals for Group D's top spot was reward for a valiant performance.
Man of the match - Marko Arnautovic
What they said
Wales manager Chris Coleman: "We have to be honest and say we'll take that point. It wasn't our best performance but Austria are a very good team at home. To take three points we needed to be at our very best in every department but we weren't. We found a way though, by hook or by crook, and we rode our luck at times.
"If you can get something when you are not at your best it is a good sign. We made trouble for ourselves, that's not like us. We can play a lot better but we can't fight any harder than that."
Wales forward Gareth Bale: "This is a very difficult place to come but we ground out a 2-2 draw. Austria will beat a lot of teams here, a point is positive."
Wales are at home to Georgia on Sunday, while Serbia host the Austrians. Elsewhere in Group D, the Republic of Ireland travel to Moldova.
- 1AlmerSubstituted forÖzcanat 58'minutes
- 7ArnautovicBooked at 50minsSubstituted forSchaubat 87'minutes
- 10JunuzovicSubstituted forSchöpfat 79'minutes
- 21JankoBooked at 90mins
- 4DaviesBooked at 60mins
- 3TaylorSubstituted forHuwsat 90+1'minutes
- 7AllenSubstituted forEdwardsat 56'minutes
- 18VokesSubstituted forRobson-Kanuat 77'minutes
- 12Fon Williams
- Cüneyt Çakir
- Shots on Target
Second Half ends, Austria 2, Wales 2.
Martin Hinteregger (Austria) wins a free kick in the defensive half.
Foul by Hal Robson-Kanu (Wales).
Marc Janko (Austria) is shown the yellow card for a bad foul.
Foul by Marc Janko (Austria).
Chris Gunter (Wales) wins a free kick on the right wing.
Foul by Marcel Sabitzer (Austria).
Chris Gunter (Wales) wins a free kick in the defensive half.
Substitution, Wales. Emyr Huws replaces Neil Taylor.
Foul by Aleksandar Dragovic (Austria).
Hal Robson-Kanu (Wales) wins a free kick in the defensive half.
Delay over. They are ready to continue.
Delay in match Wayne Hennessey (Wales) because of an injury.
Substitution, Austria. Louis Schaub replaces Marko Arnautovic.
Attempt saved. Alessandro Schöpf (Austria) left footed shot from the right side of the box is saved in the bottom right corner. Assisted by David Alaba.
Aleksandar Dragovic (Austria) wins a free kick in the defensive half.
Foul by Ashley Williams (Wales).
Corner, Wales. Conceded by Kevin Wimmer.
Corner, Wales. Conceded by Florian Klein.