'Devenny has done well'published at 20:42 BST 13 October
HT: Northern Ireland 0-1 Germany
Stuart Dallas
Former Northern Ireland midfielder on BBC Two NI and iPlayer
Justin Devenny has done well, Serge Gnabry hasn't got past him many times.
Watch: Northern Ireland 0-1 Germany
At a glance
Newcastle United striker Nick Woltemade heads home only goal of game after half an hour to give Germany 1-0 win
Northern Ireland defender Dan Ballard had 14th-minute goal ruled out for offside
Germany remain top of Group A on nine points with Northern Ireland in third place on six points
A first international goal for Newcastle United's Nick Woltemade was enough for Germany to beat Northern Ireland 1-0 in Belfast and take another step towards automatic qualification for the 2026 World Cup.
After starting their campaign with a surprise 2-0 defeat by Slovakia, Germany are top of Group A with nine points from four games.
Slovakia are behind the four-time World Cup winners only on goal difference after they beat Luxembourg in the group's other game, with Northern Ireland three points further back with two games left to play.
In manager Michael O'Neill's 100th game in charge of Northern Ireland, Woltemade's header after half an hour was the only effort on target in a first half played at a high intensity but with little in the way of goalmouth action.
With the score still 0-0 in the 14th minute, Sunderland defender Daniel Ballard thought he had given the hosts the lead, but his celebrations were curtailed by the linesman's flag with Paddy McNair offside in the build-up.
A quarter of an hour later, Woltemade got above Isaac Price from a David Raum corner and nodded past Bailey Peacock-Farrell.
After excellent play from Ethan Galbraith to tee up the chance, Jamie Reid then lashed Northern Ireland's best opportunity of the half over the crossbar three minutes before the interval.
Karim Adeyemi should have doubled his side's advantage two minutes after the restart but fired wide when through on goal and Northern Ireland created the better of the chances thereafter.
Both Shea Charles and Galbraith drew saves from Oliver Baumann in a final 20 minutes played largely in Germany's third of the pitch.
In the 87th minute, substitute Callum Marshall saw another effort beaten away as his side could just not find the equaliser that would have halted what is now an 11-game losing run against Germany.
When these sides met in Cologne little over a month ago, Northern Ireland were left to rue a pair of defensive miscues that ultimately proved their undoing in a 3-1 defeat.
Back in Belfast and roared on by a partisan crowd, they will instead feel that on this occasion, they simply ran out of time.
While there will certainly be frustrations that the goal they conceded against such opponents was from nothing more intricate than a set-piece, as the final whistle was blown, the boos that rained down on referee Jesus Gil Manzano were for not allowing more time as Northern Ireland pressed for an equaliser.
There was never a doubt that Northern Ireland would miss Conor Bradley in a game such as this.
The Liverpool right-back's suspension, earned through a second booking of the campaign against Slovakia on Friday night, robbed O'Neill of a driving force in possession but also a key element of his press when not in possession.
The 22-year-old's link with Galbraith was a key element of how the hosts had progressed the ball forward in the impressive win three days prior and, without him, there was a lesser degree of quality on the ball as evidenced by a 9% drop in passing accuracy between the two games.
Even still, as Northern Ireland worked a foothold in the second half, they looked the more likely to find the game's second goal.
Baumann will have expected to make every save asked of him - Northern Ireland's best chance was blazed over the bar by Reid - but it remained notable that he was the keeper under considerably more pressure as the game progressed.
With less than a third of the ball, Northern Ireland had more efforts on goal and more on target, but could not find an equaliser that had it arrived, would have felt in keeping with the momentum of the final 20 minutes.

Germany are top of Group A with nine points from four games played
After a seemingly edgy Germany had to wait until beyond the 70th minute to take control of things when these sides met in Cologne last month, this clearly felt a better version of Julian Nagelsmann's side in the opening exchanges.
They moved the ball with greater intensity and certainly looked more composed on the ball, even in a raucous Windsor Park.
After debates in their local press this week about their strikers' struggles in front of goal, a first international strike for Newcastle United's in-form Woltemade will have been encouraging too.
Still, for all that Germany were able to keep the ball for long passages, Woltemade's goal was their only effort on target in the first half. Indeed, it was not until the 70th minute in Belfast that Peacock-Farrell in the Northern Ireland goal made his first save of the contest.
Adeyemi should have made the game safe in the opening minutes after the restart but, after he missed the target, how his side were forced progressively further back will be a concern too.
Having opened up with a loss against Slovakia, Germany have retaken control of Group A and, with games against Luxembourg away and Slovakia at home next month, will fully expect to seal top spot and automatic qualification for the World Cup next summer.
Little on this evidence, or indeed across 2025 as a whole, will have many believing they will be among the top contenders in the USA, Mexico and Canada once they get there, however.
After a pair of home games in this window, Northern Ireland are back on the road next month when they play Slovakia in Kosice on 14 November. They will then wrap up their Group A campaign by hosting Luxembourg three days later.
Germany are also away from home to start the next international window, this time visiting Luxembourg on 14 November. They will take on Slovakia in Leipzig to round out the group on 17 November.
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 4 | 3 | 0 | 1 | 8 | 3 | 5 | 9 | 
  | |
| 4 | 3 | 0 | 1 | 5 | 2 | 3 | 9 | 
  | |
| 4 | 2 | 0 | 2 | 6 | 5 | 1 | 6 | 
  | |
4 Luxembourg  | 4 | 0 | 0 | 4 | 1 | 10 | -9 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 4 | 3 | 1 | 0 | 9 | 0 | 9 | 10 | 
  | |
2 Kosovo  | 4 | 2 | 1 | 1 | 3 | 4 | -1 | 7 | 
  | 
| 4 | 0 | 3 | 1 | 2 | 5 | -3 | 3 | 
  | |
| 4 | 0 | 1 | 3 | 2 | 7 | -5 | 1 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 4 | 3 | 1 | 0 | 12 | 1 | 11 | 10 | 
  | |
| 4 | 3 | 1 | 0 | 7 | 2 | 5 | 10 | 
  | |
| 4 | 1 | 0 | 3 | 7 | 10 | -3 | 3 | 
  | |
4 Belarus  | 4 | 0 | 0 | 4 | 2 | 15 | -13 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 4 | 3 | 1 | 0 | 9 | 3 | 6 | 10 | 
  | |
| 4 | 2 | 1 | 1 | 8 | 7 | 1 | 7 | 
  | |
| 4 | 1 | 1 | 2 | 11 | 9 | 2 | 4 | 
  | |
4 Azerbaijan  | 4 | 0 | 1 | 3 | 2 | 11 | -9 | 1 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 3 | 3 | 0 | 0 | 11 | 0 | 11 | 9 | 
  | |
| 3 | 2 | 0 | 1 | 9 | 9 | 0 | 6 | 
  | |
| 3 | 1 | 0 | 2 | 5 | 5 | 0 | 3 | 
  | |
4 Bulgaria  | 3 | 0 | 0 | 3 | 1 | 12 | -11 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 3 | 3 | 0 | 0 | 9 | 2 | 7 | 9 | 
  | |
| 3 | 1 | 1 | 1 | 6 | 5 | 1 | 4 | 
  | |
3 Armenia  | 3 | 1 | 0 | 2 | 2 | 8 | -6 | 3 | 
  | 
| 3 | 0 | 1 | 2 | 3 | 5 | -2 | 1 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 6 | 5 | 1 | 0 | 22 | 3 | 19 | 16 | 
  | |
| 6 | 4 | 1 | 1 | 10 | 4 | 6 | 13 | 
  | |
| 7 | 3 | 1 | 3 | 8 | 13 | -5 | 10 | 
  | |
4 Lithuania  | 7 | 0 | 3 | 4 | 6 | 11 | -5 | 3 | 
  | 
5 Malta  | 6 | 0 | 2 | 4 | 1 | 16 | -15 | 2 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 6 | 5 | 0 | 1 | 19 | 3 | 16 | 15 | 
  | |
| 6 | 4 | 1 | 1 | 13 | 5 | 8 | 13 | 
  | |
| 6 | 3 | 1 | 2 | 11 | 6 | 5 | 10 | 
  | |
4 Cyprus  | 7 | 2 | 2 | 3 | 11 | 9 | 2 | 8 | 
  | 
5 San Marino  | 7 | 0 | 0 | 7 | 1 | 32 | -31 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 6 | 6 | 0 | 0 | 29 | 3 | 26 | 18 | 
  | |
| 5 | 4 | 0 | 1 | 15 | 8 | 7 | 12 | 
  | |
3 Israel  | 6 | 3 | 0 | 3 | 15 | 16 | -1 | 9 | 
  | 
4 Estonia  | 6 | 1 | 0 | 5 | 6 | 16 | -10 | 3 | 
  | 
5 Moldova  | 5 | 0 | 0 | 5 | 3 | 25 | -22 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 6 | 4 | 2 | 0 | 21 | 6 | 15 | 14 | 
  | |
| 7 | 3 | 4 | 0 | 12 | 3 | 9 | 13 | 
  | |
| 6 | 3 | 1 | 2 | 13 | 10 | 3 | 10 | 
  | |
4 Kazakhstan  | 7 | 2 | 1 | 4 | 8 | 12 | -4 | 7 | 
  | 
5 Liechtenstein  | 6 | 0 | 0 | 6 | 0 | 23 | -23 | 0 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 5 | 5 | 0 | 0 | 13 | 0 | 13 | 15 | 
  | |
| 6 | 3 | 2 | 1 | 6 | 3 | 3 | 11 | 
  | |
| 5 | 2 | 1 | 2 | 4 | 6 | -2 | 7 | 
  | |
4 Latvia  | 6 | 1 | 2 | 3 | 4 | 8 | -4 | 5 | 
  | 
5 Andorra  | 6 | 0 | 1 | 5 | 2 | 12 | -10 | 1 | 
  | 
| Team | Played | Won | Drawn | Lost | Goals For | Goals Against | Goal Difference | Points | Form, Last 6 games, Oldest first | 
|---|---|---|---|---|---|---|---|---|---|
| 6 | 5 | 1 | 0 | 20 | 1 | 19 | 16 | 
  | |
| 7 | 4 | 1 | 2 | 12 | 8 | 4 | 13 | 
  | |
3 Faroe Islands  | 7 | 4 | 0 | 3 | 10 | 6 | 4 | 12 | 
  | 
4 Montenegro  | 6 | 2 | 0 | 4 | 4 | 13 | -9 | 6 | 
  | 
5 Gibraltar  | 6 | 0 | 0 | 6 | 2 | 20 | -18 | 0 | 
  | 
Manager: Michael O'Neill
Formation: 5 - 4 - 1
Manager: Julian Nagelsmann
Formation: 4 - 1 - 4 - 1
Manager: Michael O'Neill
Formation: 5 - 4 - 1
Manager: Julian Nagelsmann
Formation: 4 - 1 - 4 - 1
UEFA World Cup Qualifiers
All competitions
All competitions
All competitions