An inspired Germany fought back from a goal down to beat Portugal 4-2 and move within touching distance of the Euro 2020 knockout stage.
Joachim Low's side went into the game under pressure having lost their opening match in the 'group of death' to world champions France, and despite an impressive start fell behind when Cristiano Ronaldo finished a swift Portuguese counter attack in the 15th minute.
But they roared back, with late first-half own goals from Ruben Dias and Raphael Guerreiro providing a well-deserved lead.
Kai Havertz, at the centre of the opening two goals, struck in the 51st minute before Robin Gosens headed in at the back post on the hour mark to effectively seal all three points.
Diogo Jota quickly replied though to make it a nervy ending, as Renato Sanches rattled the post for Portugal too.
Ultimately Germany closed out victory to join Portugal on three points and move into a strong position ahead of their final fixture against Group F weak links Hungary.
Portugal now face the prospect of having to get something from their last game against world champions France to give themselves a chance of qualification.
Hungary 1-1 France
Antoine Griezmann scored a second-half equaliser for France to prevent Hungary pulling off a seismic shock over the Euro 2020 favourites in Budapest.
After a first half dominated by the world champions, Hungary full-back Attila Fiola broke away in stoppage time to fire the home side ahead and send the capacity 60,000-strong crowd at the Puskas Arena into pandemonium.
Despite their first-half domination, France struggled to carve out clear-cut chances after the break, and needed some quick thinking from goalkeeper Hugo Lloris to break the Hungarian rearguard in the 66th minute.
His long kick caused chaos, with Kylian Mbappe's deflected cross ultimately falling to Griezemann, who lashed in from 10 yards.
🇭🇺👏 Incredible scenes in Budapest as Hungary hang on for a heroic point against France.
— Sporting Life Football & Infogol (@InfogolApp) June 19, 2021
😯 The world champions failed to turn their opportunities into more goals and the result ends their run of five wins, which included 10 goals & five clean sheets.#HUNFRA #HUN #Euro2020
The hosts then held firm to pick up their first point of the tournament, with French appeals for a penalty in injury time after Presnel Kimpembe went down in the area falling on deaf ears.
France move on to four after two games, likely already enough to clinch their place in the knockout stage.
Hungary meet Germany in their final Group F game, where a surprise victory would in all probability be enough to book them a shock spot in the last 16.
Spain 1-1 Poland
Robert Lewandowski struck to keep Poland’s Euro 2020 hopes alive after coming from behind to draw 1-1 with Spain in Seville, where the hosts missed a second-half penalty.
Spain, who could only manage a 0-0 draw with Sweden in their opening Group E fixture, went ahead in the 25th minute through Alvaro Morata, after his close-range effort had initially been ruled out for offside before being overturned by VAR.
Poland, beaten by Slovakia in St Petersburg on Monday, responded and were deservedly level early in the second half when Bayern Munich forward Lewandowski headed in at the back post.
🇪🇸 Spain in two games at #Euro2020:
— Sporting Life Football & Infogol (@InfogolApp) June 19, 2021
📊 Expected Goals: 6.06 (Top)
💥 Shots: 28 (5th most)
🎯 Shots on target: 10 (4th most)
😯 Passes: 1700 (Most by 375)
⚽️ Goals: 1
🤝 Draws: 2
😲 No other team have exceeded an xG of six so far & only Netherlands are above five (5.6)!#ESP pic.twitter.com/9R7sUu7PK1
There was, though, more drama to come when Spain were awarded a penalty, after the referee reviewed the incident on the pitchside monitor, only for Gerard Moreno to hit the post with his spot-kick and Morata then knocked the rebound wide.
Both sides still have qualification in their own hands heading into their final Group E matches, when Slovakia go to Seville and Poland play Sweden – who picked up three points from their second fixture – in St Petersburg.