Germany wasted a host of early chances before captain Philipp Lahm fired them ahead in spectacular fashion.
Greece threatened a scare when Celtic striker Georgios Samaras levelled on the counter-attack, but Sami Khedira and Miroslav Klose soon responded.
Marco Reus thumped home a fourth before Dimitris Salpingidis netted a penalty.
Germany will now take on England or Italy in the last four in Warsaw next Thursday.
German coach Joachim Loew raised eyebrows before kick-off with his decision to rest his first-choice strike trio of Mario Gomez, Thomas Mueller and Lukas Podolski.
But his decision was vindicated as young replacements Reus and Andre Schurrle turned in energetic performances either side of the vastly experienced Klose, who saw an early strike ruled out for offside.
Reus in particular could have had a couple of goals in a first 45 minutes completely controlled by Loew's side, with the coach growing visibly frustrated as the half wore on and his team wasted a flurry of openings.
The breakthrough came just before the break when Bayern Munich full-back Lahm cut inside from his station on the left and thrashed a right-footed shot from 20 yards which bent wickedly past goalkeeper Michalis Sifakis and into the corner.
Greece coach Fernando Santos made two changes at the break as he attempted to offer some sort of attacking outlet and, despite the opening 10 minutes continuing the pattern of German ascendancy, Samaras then struck against the run of play.
Replacement Giorgos Fotakis released Salpingidis down the right, and he was able to pick out Samaras at the back post to slide in from close range.
If it was an examination of this Germany side's credentials, it was one they passed with ease as they responded by scoring three goals in 13 minutes.
First Khedira - playing in a far more advanced role than the one he fills for Real Madrid - showed fine technique to strike a volley into the roof of the net, before Klose took advantage of some poor goalkeeping by Sifakis to nod in a simple header from a free-kick.
It was Klose's 64th international goal and his 17th in a major tournament.