Cristiano Ronaldo had given the defending champions a 15th minute lead but Germany went in at the break 2-1 up thanks to own goals from Ruben Dias and Raphael Guerreiro.
AS IT HAPPENED | POINT TABLE
The Germans turned on the style in the second half with goals from Kai Havertz and the impressive Robin Gosens making it 4-1 before Diogo Jota pulled a goal back for Portugal.
The win moves Germany, who face Hungary in their final game, into second place in the group on three points, a point behind leaders France and level on points with the Portuguese. Hungary drew 1-1 with France earlier on Saturday.
Germany, smarting from their opening defeat to the French, started with purpose and confidence and thought they had grabbed the lead in the fifth minute through Gosens but VAR ruled that Serge Gnabry had been in an offside position.
⏰ RESULT ⏰ 🇵🇹🆚🇩🇪 Germany win six-goal EURO classic in Munich!Did you see that coming? 😱#EURO2020
— UEFA EURO 2020 (@EURO2020) 1624125215000
Against the run of play, Portugal grabbed the early lead, hitting the Germans on the break with Bernardo Silva picking out Jota on the left of the box and his low cross was tapped in from close range by Ronaldo.
It was the Portugal skipper’s third goal in two games and his first ever against Germany but Joachim Loew’s side kept their cool and continued to play positive football before eventually getting their reward.
The Germans drew level in the 35th minute when Joshua Kimmich’s cross from the right was volleyed at the back post by Gosens and flew into the net off the outstretched foot of Portugal defender Dias as he looked to stop Havertz converting.
🇩🇪 Germany extend their unbeaten run against Portugal to 5 games ✅#EURO2020 https://t.co/0Yh35grvmF
— UEFA EURO 2020 (@EURO2020) 1624125961000
It was another own goal that gave Germany the lead — Kimmich drove in a low ball from the right and Guerreiro’s attempted clearance flew past his goalkeeper Rui Patricio.
Portugal replaced Bernardo Silva with Renato Sanches at the break but Germany took a firm grip on the game with a third goal six minutes after the restart — a well-worked passing move ending with Havertz turning in a low ball from the left delivered by the influential Gosens.
Germany were buzzing now and it was no surprise when they made it 4-1 on the hour with Gosens finishing off another well constructed attack, heading home a Kimmich cross at the far post.
Portugal struck back quickly though when a deep free-kick from Guerreiro looked to be heading out but Ronaldo acrobatically hooked the ball inside to Jota who slotted home.
Sanches fired a warning of a potential comeback when he thundered a long distance drive against the woodwork but Germany’s victory was never really in doubt.