- Doan and Asano score after Germany dominated first hour
- Both scorers play in German Bundesliga
- 'Ludicrous loss' says German striker Mueller
Four-times champions Germany had looked to be cruising to a routine victory via Ilkay Guendogan's first-half penalty but paid a fatal price for profligacy in front of goal.
The shock result was a repeat of their 2018 World Cup nightmare when, as defending champions, they lost their opener to Mexico and, after another defeat by South Korea, were condemned to an unheard of group-stage exit.
Japan had shown almost nothing in attack until a series of second-half substitutions injected some energy into their first competitive fixture against Germany.
Doan equalised in the 75th minute before Asano showed lovely control and smashed the winner in from a tight angle - causing an explosion of joy among the Japan bench and head shaking among German fans used to watching both players ply their trade in the Bundesliga.
"We wanted to start playing aggressively, we wanted to dominate the game," said Japan coach Hajime Moriyasu, whose second-half changes changed the whole feel of the game. "But Germany are very strong so we needed to defend persistently and take our chances.
"It's a big surprise. We saw the Saudi victory over Argentina - the Asian countries are reaching the global standard."
It was a turnaround that looked unlikely in the extreme as Japan struggled to get any foothold for most of a game played against the backdrop of FIFA's threat of sanctions if German captain Manuel Neuer wore a "OneLove" armband.
In response to that act of protest being effectively banned, the German team covered their mouths in a "silenced" gesture for their team picture.
It was certainly a subdued atmosphere in the ground until Germany's early dominance was rewarded when Joshua Kimmich picked out David Raum in acres of space in the box and goalkeeper Shuichi Gonda clumsily brought him down as he turned, with Guendogan dispatching the penalty in the 33rd minute.
Kai Havertz turned in what he thought was a second in first-half stoppage time but that, like an early effort for Japan's Daizen Maeda, was ruled out for offside. There was initially little change to the pattern in the second half as Jamal Musiala shot over after a penetrating run and Guendogan clipped a post when he should have scored.
There then came a thrilling spell when Gonda made amends by somehow making four successive saves to deny Jonas Hofmann and Serge Gnabry, keeping his side in the game.
Neuer, appearing in his fourth World Cup, had barely touched the ball but then had to save from Hiroki Sakai. He did well again to block from Takumi Minamino only for fellow substitute Doan to gleefully smash in the loose ball.
Japan pushed on and Asano, inexplicably left to roam by Antonio Ruediger, showed great touch to bring down a high Ko Itakura free kick. He then held off defender Nico Schlotterbeck before hammering the ball into the smallest of spaces.
Germany launched all-out attack from then on, to no avail, and now face a potentially must-win game next against Spain.
"We played a good game over long periods of time but a game is also marked by the chances that you convert into goals," said Germany striker Thomas Mueller after his team had enjoyed 76.8% possession. "It is ludicrous that we are here with a defeat."
Japan next face Costa Rica and, for the second tournament in a row, will be dreaming of the last 16 - at least.