Despite the absence of injured captain Lionel Messi, Argentina ran circles around the World Cup winners on their home turf in the first match for both teams since Germany's 1-0 extra-time victory in the final in Brazil.
So impressive was the performance of the Argentine winger, who had missed the final through injury, in the Duesseldorf arena that even many of the German fans applauded his performance when he was replaced late in the match.
Germany coach Joachim Loew put only four of the starting 11 that won Germany's fourth World Cup on the pitch in the warm-up match for their Euro 2016 campaign that starts on Sunday against Scotland.
Captain Philipp Lahm, striker Miroslav Klose and defender Per Mertesacker, all of whom retired following the World Cup triumph, were hailed by the sell-out crowd of 51,132 while several other key players were missing through injury.
The inexperienced Germany defence could not contain new Manchester United signing Di Maria in the first half.
He set up the first goal in the 21st minute with a pinpoint lob to the penalty spot where Sergio Aguero slipped away from his marker and beat Manuel Neuer with an unstoppable volley from point-blank range.
Nineteen minutes later Di Maria broke free on the right near the goal line where he lofted a cross back to Erik Lamela, standing in for the injured Lionel Messi, who smashed a fine volley past a frustrated-looking Neuer.
Central defender Federico Fernandez headed the third two minutes after the intermission from Di Maria's free kick before the winger made it 4-0 with a superb chip in the 50th minute.
Andre Schuerrle got one back for Germany in the 52nd minute, tapping in after a scramble in front of Sergio Romero's goal and World Cup hero Mario Goetze made it 4-2 in the 78th minute.
Germany had plenty of chances themselves, especially in the first half, but were wasteful in front of goal.
Forward Mario Gomez, who missed the World Cup due to injury, reminded German fans of another reason he may have been left at home as he wasted three chances in the first half and was jeered at halftime before being replaced early in the second.
"It was a long time with injuries for me but it's great to be here," Gomez said. "Argentina are a great team and against teams like that you can't afford to rest for even a second."
Lukas Podolski, who came off the bench, said the team were focusing on the Euro qualifier against Gordon Strachan's side.
"A lot of players are only just back in training now," he said. "The big game is against Scotland. Obviously we're disappointed. Let's tick it off and focus on the qualifier."