Match ends, Northern Ireland 0, Germany 2.
Northern Ireland's Euro 2020 qualifying hopes suffered a major setback as they lost 2-0 to Germany in a pulsating qualifier at Windsor Park.
Marcel Halstenberg's stunning half-volley early in the second half and a stoppage-time goal by Serge Gnabry gave Joachim Low's men victory.
Germany go top of Group C, above Northern Ireland on goal difference.
Conor Washington squandered two gilt-edged chances for the home side and Stuart Dallas also went close.
NI keeper Bailey Peacock-Farrell made some fine saves as Germany dominated the second half while Steven Davis became Northern Ireland's most capped outfield player with 113 appearances.
Northern Ireland produced a spirited display but now face an uphill struggle to qualify for a second successive Euro finals after suffering an eighth consecutive defeat in matches against the Germans.
Michael O'Neill's side hoped to build on the momentum generated by winning their first four matches of a qualifying campaign for the first time - home and away doubles over Estonia and Belarus - but eventually came out second best to the three-time European champions.
The Netherlands' win over Estonia moves them to within three points of the two teams at the top of Group C and the Dutch will be NI's next opponents in Rotterdam on 10 October.
Further matches at home to Ronald Koeman's side and away to the Germans complete the campaign in November with the top two teams to qualify.
NI misses prove costly
Northern Ireland were left to rue poor finishing and the lack of a prolific scorer as their enterprising attacking play and energy was not rewarded with goals.
Roared on by a vociferous crowd, who were hoping to see their side emulate the famous September victories over England in 2005 and Spain in 2006, the hosts made a bright start but when Hearts striker Washington found himself through on goal after a rare mistake by Toni Kroos, he was unable to beat Manuel Neuer, who was quick off his line to charge the ball down.
Lone striker Washington passed up another great opportunity when the ball got stuck under his foot a few yards out after Neuer could only palm Stuart Dallas's low cross from the right into his path.
A goalmouth scramble ensued but no Northern Ireland player could apply the final touch in a crowded penalty area.
NI's best chance of the second half fell to Leeds United player Dallas but he dragged his effort from substitute Gavin Whyte's cross wide of the post.
Northern Ireland defended resolutely for much of the game, keeping their shape and defensive discipline and getting men behind the ball, but when needed goalkeeper Bailey Peacock-Farrell distinguished himself with a number of fine saves.
The 22-year-old former Leeds player has been starved of first-team action at new club Burnley this season but his performance in this game brought back memories of fellow NI keeper Michael McGovern's display against the same opposition at the Euro 2016 finals in France.
Peacock-Farrell denied Niklas Sul, Lukas Klostermann and Thomas Werner on a number of occasions, also diving to push round Marco Reus's free-kick.
The Germans also had a couple of penalty appeals turned down in the first half, with Craig Cathcart getting away with a possible handball.
Not vintage Germany
Northern Ireland held their own in the first half, enjoying more than their fair share of possession, but the Germans dominated after the break and those two clinical finishes from Halstenberg and Gnabry proved the difference between the teams.
Wing-back Halstenberg's left-foot drive from a right-wing cross flashed past Peacock-Farrell and flew into the top corner three minutes after the break for the opener and his first international goal.
A combination of profligate finishing and Peacock-Farrell's heroics kept NI in touch until Gnabry completed a fine move by scoring with an angled drive from an acute angle in added time to make it nine goals in 10 international appearances for the Bayern Munich forward.
The injury-hit Germans' defensive frailties were exposed throughout however as O'Neill's side put the four-time world champions under pressure for sustained spells.
Alongside several decent opportunities, the hosts had a penalty appeal waved away after Paddy McNair went down under a challenge from Kroos.
German manager Joachim Low's rebuilding process after a disastrous World Cup 2018 campaign and relegation from the Nations League looks to be very much a work in progress on the evidence of this display despite the victory.
Even if their air of invincibility may have gone as a new generation of players continue to be introduced this win will give them a boost after the disappointing 4-2 defeat by the Netherlands on Thursday.
- Germany have won three consecutive away games for the first time since September 2015, having lost their previous three in a row.
- Having lost just two of Michael O'Neill's first 14 competitive meetings at home (P14 W8 D4 L2), Northern Ireland have suffered five defeats in their last seven such games (P7 W2 D0 L5).
- Northern Ireland failed to score at home for the first time in their last eight international matches, last doing so in a 0-1 defeat to Switzerland in November 2017.
- Marcel Halstenberg scored his first ever goal for Germany, on his fourth appearance.
- Northern Ireland's Steven Davis earned his 113th cap for his country - only one other player in the country's history has ever made more appearances for the Green and White Army (Pat Jennings, 119).
- Germany's Serge Gnabry has scored five goals in his five international appearances in 2019, more than any other German player this year.
- 17McNairBooked at 43mins
- 6SavilleBooked at 55minsSubstituted forMagennisat 70'minutes
- 9WashingtonSubstituted forLaveryat 83'minutes
- 7McGinnSubstituted forWhyteat 59'minutes
- 4GinterSubstituted forTahat 40'minutes
- 20GnabryBooked at 67mins
- 11ReusSubstituted forCanat 85'minutes
- 9WernerSubstituted forHavertzat 68'minutes
- 22ter Stegen
- Daniele Orsato
- Shots on Target
Second Half ends, Northern Ireland 0, Germany 2.
Goal! Northern Ireland 0, Germany 2. Serge Gnabry (Germany) right footed shot from a difficult angle on the right to the centre of the goal. Assisted by Kai Havertz.
Corner, Germany. Conceded by Jonny Evans.
Attempt blocked. Emre Can (Germany) right footed shot from outside the box is blocked. Assisted by Joshua Kimmich.
Toni Kroos (Germany) wins a free kick on the left wing.
Foul by Steven Davis (Northern Ireland).
Substitution, Germany. Emre Can replaces Marco Reus.
Foul by Serge Gnabry (Germany).
Corry Evans (Northern Ireland) wins a free kick in the defensive half.
Corner, Germany. Conceded by Jamal Lewis.
Attempt blocked. Kai Havertz (Germany) right footed shot from the right side of the six yard box is blocked. Assisted by Marco Reus.
Substitution, Northern Ireland. Shayne Lavery replaces Conor Washington.
Offside, Germany. Joshua Kimmich tries a through ball, but Julian Brandt is caught offside.
Offside, Germany. Marco Reus tries a through ball, but Marcel Halstenberg is caught offside.
Foul by Lukas Klostermann (Germany).
Josh Magennis (Northern Ireland) wins a free kick on the left wing.
Offside, Northern Ireland. Stuart Dallas tries a through ball, but Josh Magennis is caught offside.
Corner, Northern Ireland. Conceded by Jonathan Tah.
Attempt blocked. Patrick McNair (Northern Ireland) right footed shot from the right side of the box is blocked.