Russia and Poland stepped up their preparations for Euro 2016 with thumping victories over Lithuania and Finland, while Austria overcame tournament newcomers Albania 2-1.
In Berlin, a minute’s silence was observed in memory of the victims of the Brussels terror attacks, with both sets of players wearing black armbands in honour of Dutch great Johan Cruyff who passed away on Thursday at the age of 68.
Toni Kroos gave Joachim Loew’s men a 43rd-minute lead at the Olympic Stadium with a crisp left-footed drive that beat Jack Butland, who was then immediately stretchered off with a leg injury, at his near post.
After seeing a first-half effort incorrectly ruled out for offside, doubled Germany’s advantage on 57 minutes by heading home a Sami Khedira cross for his first international goal in almost four years.
But Harry Kane halved the deficit four minutes later as the Tottenham striker produced a piece of skill befitting the late Cruyff to fire beyond a helpless Manuel Neuer.
Substitute Jamie Vardy made an immediate impact after replacing Danny Welbeck, with the Leicester City forward superbly flicking home Nathaniel Clyne’s right-wing cross on 74 minutes.
England should have gone ahead after Vardy pounced on a loose pass inside the Germany area, only for Dele Alli to blaze over with the goal gaping.
But Dier ensured Roy Hodgson’s side weren’t left to rue that miss as the Tottenham midfielder powered home a header from Jordan Henderson’s corner in the 91st minute to complete a remarkable turnaround.
Earlier Russia, who will face England in their opening match of the European Championship, cruised to a 3-0 victory over Lithuania in Moscow with goals from Fedor Smolov, Aleksandr Golovin and Denis Glushakov.
Poland have again been drawn alongside title frontrunners Germany at this summer’s finals, having already faced them in qualifying, and strolled to a morale-boosting 5-0 demolition of Finland in Wroclaw.
Rennes midfielder Kamil Grosicki and Verona winger Pawel Wszolek both netted twice apiece with Filip Starzynski also on target as star striker Robert Lewandowski came on for the final 27 minutes.
Austria co-hosted the 2008 finals with Switzerland and booked their place at this year’s edition after dropping just two points during qualifying in a group that also featured Sweden and Russia.
In Vienna, Marcel Koller’s side defeated an Albania team heading to their first major tournament courtesy of early strikes from Marc Janko and Martin Harnik, with Ermir Lenjani pulling one back for the visitors.
Hungary will also travel to France in June after a 30-year finals absence, and Balazs Dzsudzsak struck 11 minutes from time in Budapest to cancel out Mario Mandzukic’s first-half opener in a 1-1 draw with Croatia.