The win gave Austria, who also featured in the Euro 2008 finals as co-hosts along with Switzerland, 22 points from eight matches and guaranteed them top spot in Group G.
Harnik netted a goal in each half, David Alaba chipped in a first-half penalty and Marc Janko also got on the scoresheet before Zlatan Ibrahimovic grabbed a late consolation for Sweden.
Waving flags and sporting T-shirts saying ‘France, we’re coming’, the Austrian players ran to celebrate with the thousands of travelling fans, shaking hands and singing long after the final whistle.
“We were really trying to focus, to win it today and not in the games in October, and that’s what we did,” midfielder Julian Baumgartlinger told Reuters. “I’m really, really happy.
“It’s a big thing for us but our focus is not just to take part. We want to influence the championship in France next June…so we have to keep developing.”
Less pleased was Erik Hamren after his Sweden team slipped to third position on 12 points, two behind Russia, and now face the prospect of taking part in a playoff match in order to reach the Euro finals.
“We still have a chance to qualify … but right now it feels tough,” said coach Hamren after his side suffered their heaviest defeat at the Friends Arena.
After Sweden also went down 1-0 to Russia in their previous game, captain Ibrahimovic was more cutting in his analysis.
“We were outplayed,” he said. “They were better than us, the Russians too.”
Sweden’s best first-half chances came through two free kicks from Ibrahimovic while Marcus Berg went close for the home team in the second period.
Robert Almer also had to make a double save from Berg and Emil Forsberg late on before Ibrahimovic finally broke through.
Sweden, however, were undone by Austria’s dangerous breaks as the visitors went forward at pace throughout, often throwing five or six players into counter attacks.
Austria meet Montenegro and Liechtenstein in their final two qualifying games.
(Editing by Tony Jimenez)