Forward Marko Arnautovic was the hero of the match scoring twice for Austria with fellow teammate Zlatko Junuzovic opening the scoring early on. Dynamo Kiev's Oleg Gusev was twice on target for Ukraine.
Austria got off to a flying start and went into the lead after just two minutes when Junuzovic fired home a 20-metre free kick.
Ukraine replied positively, pinning the hosts back but to no immediate avail as their attacking line lacked creativity and precision against a steady Austrian defence that yielded nothing in the first 45 minutes.
After the break Ukraine manager Oleg Blokhin brought in veteran star Andriy Shevchenko and his club teammate Artem Milevsky in a bid to boost his team's attack.
Ukraine duly levelled in the 56th minute through Gusev who slotted home Andriy Yarmolenko's cross following Sergei Nazarenko's freekick.
Arnautovic put Austria into the lead again in the 62nd minute scoring from Andreas Ivanschitz's pass but Gusev made it 2-2 just three minutes later, firing home from the edge of the box after being played in by Yarmolenko.
However, Arnautovic scored Austria's winning goal and his second of the match with just a minute remaining, sending the ball into the net from just inside the box.