Australia's David Carney slotted home after an hour and Luke Wilkshire converted a penalty to cancel out Mario Gomez's early goal and give the Socceroos their first win over the Germans in four matches.
"We had very good control of the game in the first half but then in the second half we were a bit careless and we were surprised by the two goals so we ended up losing the game," Germany coach Joachim Low told reporters.
"But such games are important for the younger players, especially against a physically strong team like Australia."
Germany, who beat Australia 4-0 in last year's World Cup in South Africa, were missing five regulars and Low made eight changes to the team that beat Kazakhstan on Saturday to top their Euro 2012 qualifying group.
It took a while for his team to settle and Lukas Podolski had their first good chance when he curled a free-kick just wide of Mark Schwarzer's goal on 23 minutes.
Two minutes later Gomez was on target, firing in from the edge of the box to beat the Fulham keeper and underline his ambitions to claim a starting spot after replacing Miroslav Klose for the game.
With captain Michael Ballack watching from the stands with his international future to be decided next month, the Germans imploded in the second half, allowing Carney to race clear, outsmart two defenders and slot in the equaliser through the legs of keeper Tim Wiese.
Wilkshire made it 2-1 with a spot-kick three minutes later after Harry Kewell was brought down to give Australia's German coach Holger Osieck a memorable win.
"I never expected that. I know what exceptional players Germany had on the pitch tonight," said Osieck, assistant national coach when West Germany won the 1990 World Cup.
"We wanted to put in a good performance and that was all. We never thought about a result."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.