Cristiano Ronaldo scored the winner as Portugal fought back to beat Germany 2-1 on Wednesday, with the 40-year-old bagging his 137th international goal to send them into the Nations League final.
It was Portugal's first win over Germany since 2000 with Ronaldo's goal earning them a spot in their second Nations League final, after winning the inaugural edition in 2019.
Spain and France will clash in the other semi-final on Thursday to decide who will face Portugal in the decider on Sunday.
Germany dominated the first half, but it remained goalless thanks to the heroics of Portugal keeper Diogo Costa.
The shotstopper made an excellent start to the first half, keeping out a low shot from Germany's Leon Goretzka after four minutes with a strong save.
Costa came to Portugal's rescue again with an incredible save from Nick Woltemade’s close-range effort and two minutes later, he produced another quick reaction stop, diving low to tip away another attempt from Goretzka.
Germany took the lead in the 48th minute, as Florian Wirtz headed in unmarked in the box, following a pinpoint lobbed pass from Joshua Kimmich.
However, Portugal turned the match around, first equalizing through substitute Francisco Conceicao in the 63rd minute, before Ronaldo tapped in five minutes later after Nuno Mendes teed him up.
For Conceicao, the win carried extra significance, as his father Sergio scored a hat-trick the last time Portugal beat Germany - at the European Championship in 2000.
"We need to enjoy the victory – we won for the first time in a while against Germany. Tactically we were exceptional and our commitment helped... it was a team victory," Portugal coach Roberto Martinez said, according to Reuters.
"Now we can recover and evaluate," he added. "We want another performance with personality in this shirt."
Germany looked to shift the momentum when substitute Karim Adeyemi unleashed a powerful rising strike with his left foot, only to see it crash against the outside of Costa’s right-hand post.
Portugal could have grabbed a third goal very late in the match but Germany keeper Marc-Andre ter Stegen stretched impressively to perform a double save.
It was a disappointing 100th appearance for Germany captain Kimmich.
"The defeat is absolutely deserved. We weren't playing well enough in the first half. After going 1-0 up, nothing came of it in the second half," he told reporters.
"We have to learn from this. If we're not at 100%, we can't beat a top European team. Today was one of our worst games, purely based on our performance."