Cristiano Ronaldo gave his side the lead with his 107th international goal after a quarter of an hour.
But own goals from Ruben Dias and Raphael Guerreiro gave Germany the lead before Kai Havertz and Robin Gosens added to Portugal’s misery.
Diogo Jota pulled one back midway through the second half but it wasn’t enough as the Germans picked up their first win of the tournament.
Here’s how every player performed at the Allianz Arena in the Group F clash.
Rui Patricio - 6: Wasn’t given any help by his defence as he saw the ball fly into his net over and over again.
Nelson Semedo - 6: Looked all at sea defensively and was only helped out by Guerreiro having an even worse game on the other side.
Pepe - 5: Much like Hummels in the France match, Pepe showed his age here as he was embarrassed by Gnabry’s pace.
Ruben Dias - 5: Scored the first own goal and then failed to track Havertz for Germany’s third.
Raphael Guerreiro - 4: All of Germany’s early joy came down his side and he then woefully turned into his own net to give Joachim Low’s side the lead.
Danilo Pereira - 6: Seemed to drift through the game without getting to grips with Kroos and Gundogan.
William Carvalho - 6: Carved open time and time again in the middle of the park, offering very little support for Dias and Pepe.
Bruno Fernandes - 5: Made pretty much no impact on the game and was the only one of the four attacking players not to be involved in either of their goals.
Bernardo Silva - 6: Played the ball for Jota which led to the Ronaldo goal but was then hooked at half-time for Renato Sanches.
Diogo Jota - 8: Assisted Ronaldo’s opener and ran at the German defence whenever he got the opportunity. Scored from close range to pull one back.
Cristiano Ronaldo - 8: Scored with his first real sight of goal with a blistering box-to-box run and assisted for Jota in the second half.
Substitutes: Renato Sanches - 7, Joao Moutinho - 6, Rafa Silva - 6, Andre Silva - 6.
Manuel Neuer - 6: Had very little to do and could do little about the goals.
Antonio Rudiger - 6: Had a strong game up against Ronaldo after a difficult opening 20 minutes.
Mats Hummels - 6: Still looks like he is lacking pace and be exposed but did not really put a foot wrong after Germany conceded.
Matthias Ginter - 6: A consistent performer for Low, looks good playing in a back three.
Robin Gosens - 9: Picked up a goal and an assist before being taken off. Absolutely superb outlet down the left for Germany.
Toni Kroos - 6: Dictated the pace of the game well when a bit of composure was needed in an otherwise frantic encounter.
Ilkay Gundogan - 6: Did not have as much impact as he would have liked in the final third.
Joshua Kimmich - 8: Gave vital width to Germany’s play and used his passing ability as a central midfielder to open up Portugal. Forced the second own goal with his cutback.
Kai Havertz - 8: Looked like the best player on the pitch in the first half and got his name on the scoresheet after the break.
Thomas Muller - 7: Probably the quietest of Germany’s attacking players but linked the play well.
Serge Gnabry - 8: Always looked dangerous when Germany broke on the counter-attack. His pace constantly stretched Portugal.
Substitutes: Emre Can - 6, Marcel Halstenberg - 6, Niklas Sule - 6, Leon Goretzka - 6, Leroy Sane - 6.