Joachim Low reflected on a job well done after Germany finished 2017 unbeaten thanks to a 2-2 draw against France in Cologne.
The world champions seemed destined for defeat in Cologne as they trailed to Alexandre Lacazette's double either side of Timo Werner's leveller.
But Lars Stindl rescued the draw for Low's men with the last kick of the game, the substitute firing home from Mario Gotze's pass to make it 21 games unbeaten and an undefeated calendar year.
Despite their struggles at times at the Rhein Energie Stadion, Low was pleased with the spirit on show from his squad as they prepare to defend their World Cup crown in Russia.
"I am very satisfied with the two friendly games against England and France," said Low. "We have achieved good results against two strong opponents at a high level.
"Today, we played well in the second half, after not everything went well in the first half.
"It was important that we did not become nervous today after going behind and pulled our game through.
"Playing the right ball at the right time is the great art in football. We did that very well today."
Low singled out goalscorer Timo Werner for specific praise after the RB Leipzig forward scored his seventh goal of the year.
"Timo showed the game that we want to see from him," added the national coach. "He goes deep and is always dangerous.
"He has had a great year with us."
|Jones and Humphreys to assist incoming Wales head coach Pivac|
|I have nothing to say - Mourinho muted on Manchester United exit|
|Gallen defiant amid Sharks crisis|
|Solskjaer to United: Cardiff stint not relevant to Old Trafford challenge, says Berg|
|Manchester United´s on-field results must improve to maintain commercial strength - sports finance e|
|Rashid and Carey inspire winning start for Strikers|
|Solskjaer to United: Phelan to continue Mariners role during coaching stint|
|Malone: Jokic an MVP contender|
|Solskjaer to United: Returning heroes - the hits and misses|
|Solskjaer to United: Ole´s best moments for United|
|Solskjaer to United: Club writing off two seasons with interim appointment - Fletcher|
|Allen´s LeBron block made statement - Atkinson|
|Solskjaer to United: Molde give blessing for their manager to take job on temporary basis|
|Dragons land Eels playmaker Norman|
|Black Caps tried everything - Williamson|
|Solskjaer to United: Red Devils´ interim boss in numbers|
|Solskjaer to United: Other Ferguson pupils who became teachers|
|Manchester United appoint Solskjaer until end of season|
|Kane a doubt for north London derby|
|Mourinho sacking changes things – Tuchel|
|Nets top Lakers in Brooklyn, extend winning streak to six games|
|LeBron on Lakers potentially acquiring Davis: That would be amazing|
|Rain helps Sri Lanka claim draw against New Zealand|
|Mourinho had to ´take the consequences´, says Klopp|
|Ausilio: Icardi has offer on table, won´t be sold to Juve|
|Chargers lead NFL Pro Bowl selections, Brees named NFC starting QB|
|Pro Bowl 2019: Chargers lead NFL with 7 selections, Drew Brees named NFC starting QB|
|Savea re-signs with All Blacks, Hurricanes|
|Flanagan facing de-registration as Sharks, Tigers cop huge fines|
|Napoli rejected £95m offer for Koulibaly amid United links – De Laurentiis|
|Kovac feels for axed United boss Mourinho|
|Rabiot, we do not need you – PSG fans respond to wantaway midfielder|
|Guardiola hails assured debut from Man City youngster Garcia|
|He´s very happy at Tottenham – Arsenal boss Emery wants Pochettino to reject Manchester United|
|Rams sign RB C.J. Anderson|
|Good luck with the Red Devils - Norway PM´s message for Solskjaer|
|Pogba was ´dancing on the grave´ of Mourinho - Neville|
|Solskjaer set to replace Mourinho after Man United gaffe|
|City signing Steffen up to Guardiola´s goalkeeper demands, says Berhalter|
|Mourinho is so strong - Guardiola backing for fallen rival|
|Mourinho? Ausilio dismisses Inter return after United sacking|
|Whyte needs to raise his game to beat Chisora again - Haye|
|Brussino leads late Tenerife rally as Venezia down Holon|
|Orleans 1 Paris Saint-Germain 2: Super sub Diaby sends holders through|
|Leicester City 1 Manchester City 1 (1-3 on penalties): Muric stands tall in poor shoot-out|
|Middlesbrough 0 Burton Albion 1: League One side reach semi-finals|
|Bologna 0 AC Milan 0: Bakayoko sent off as Inzaghi claims point against former side|
|Fortuna Dusseldorf 2 Borussia Dortmund 1: Bundesliga leaders suffer shock first loss|
|Rivera yet to make a call on sitting Panthers QB Newton|
|Pulisic would thrive in Premier League, but Berhalter expects Dortmund stay|
|Raptors coach Nurse fined by NBA for criticising referees|
|Solari ´loves´ struggling Real Madrid star Isco|
|Mourinho sacked: Pogba, Lukaku, Fred and his other Man United signings rated|
|Mourinho sacked: What does it mean for Manchester United players?|
|Ibrahimovic provides short-term pain, long-term gain for US - Berhalter|
|River Plate 2 Al Ain 2 (aet, 4-5 on penalties): Perez misses decisive spot kick|
|De Bruyne and Aguero back for City, surprise debut for Garcia|
|Uncapped Varun ´panicked a little´ after huge IPL deal|
|Replays scrapped for FA Cup fifth round|
|Pochettino readies big guns for Gunners|
|Ex-Wasps star Wade struggling with NFL transition|
|BCCI rejects ´baseless´ claims over Kohli-Paine ´banter´|
|Ibrahimovic re-signs with LA Galaxy for 2019|
|Mourinho sacked: Solari not worried for Real Madrid job|
|Mourinho sacked: 895 days and more than £700,000 in five-star luxury|
|ES Tunis 1 Guadalajara 1 (6-5 on penalties): Dhaouadi holds nerve to settle ill-tempered affair|
|Murphy lands permanent Tigers role|
|Mourinho sacked: Real Madrid´s Marcelo lauds ´great coach´ after United exit|
|Unadkat, Varun the top buys at IPL auction|
|Emery prepared to give youth a chance in north London derby|