Hungary stunned 10-man Austria 2-0 as second-half goals from Adam Szalai and Zoltan Stieber earned a surprise victory in their Euro 2016 Group F opener.
Austria came into Tuesday's meeting in Bordeaux as the favourites to get their campaign off to a triumphant start, having cruised through qualifying in style, dropping just two points from their 10 fixtures.
But Hungary, who scraped into the play-offs before defeating Norway, had other ideas and after being on the back foot for much of the first half, took the lead just after the hour through Szalai's prodded finish.
And things went from bad to worse for Marcel Koller's men four minutes later when defender Aleksandar Dragovic was - perhaps harshly - shown a second yellow card.
Hungary, making their first appearance at a major international tournament in 30 years, clinched victory on the counter three minutes from time through substitute Stieber to get off to the ideal start in a group also containing Portugal and Iceland.
Austria, meanwhile, were left to rue not making their first-half dominance count with talisman David Alaba having come closest for them when he struck the woodwork inside the first minute.
Hungary goalkeeper Gabor Kiraly made history as, at 40 years of age, he became the oldest player to feature at a European Championship match.
But it was almost a nightmare start for the veteran, who breathed a sigh of relief when Alaba's rasping shot from distance inside the opening 35 seconds struck the right-hand post.
And the Bayern Munich star went close again in the 10th minute, firing straight at Kiraly from Marko Arnautovic's clever pass.
Austria continued to look the more likely to break the deadlock and Kiraly was called into action once again in the 35th minute as he dived to his left to parry Zlatko Junuzovic's effort following Marc Janko's knockdown.
A lightning break involving Arnautovic and Martin Harnik scythed through the Hungary backline, but the move was not given the finish it deserved as the latter got his feet in a tangle sliding in at the back post.
Hungary captain Balazs Dzsudzsak then wasted the chance to punish that profligacy just before half-time when he dragged a shot wide from inside the box.
Dzsudzsak was much more threatening from 30 yards after the restart, sending a left-foot rocket towards the top corner that Robert Almer had to fend behind.
But in the 62nd minute, Hungary made the breakthrough as Szalai twice exchanged passes with Laszlo Kleinheisler and stretched to poke home beyond Almer for his first goal for club or country since December 12 2014.
And Austria's plight worsened soon afterwards when Dragovic caught Tamas Kadar in trying to reach the ball inside the Hungary area and referee Clement Turpin brandished a second caution.
Krisztian Nemeth almost put the game beyond Austria when Almer superbly tipped his effort around the post, before Marcel Sabitzer wasted a golden chance to equalise when he blazed over at the other end.
As time ticked away and Austria pressed hard for a leveller, they left themselves open at the back and Tamas Priskin freed his fellow replacement Stieber, who lifted a composed finish over Almer to spark wild scenes of celebration.
Key Opta stats:
- Gabor Kiraly has become the oldest player to feature at the European Championships (40y 74d), overtaking the record set by Lothar Matthaus in June 2000 (39y 91d).
- Adam Szalai scored his first international goal since October 2014 against the Faroe Islands.
- Aleksandar Dragovic was the first Austrian player to be sent off at a major tournament since Peter Artner was sent off against the USA at the 1990 World Cup.