Australia started their campaign by steamrolling South Africa and injury-stricken Spain, but were then held to draws by Argentina and Britain.
The world number one team only needed a draw against Pakistan to advance to the final four but went into a 2-0 lead within six minutes of the start and stayed in control.
In the fifth minute, Liam De Young got the final touch on a penalty corner rebound to score the first and, just a moment later, Mark Knowles converted a penalty stroke after a defensive foul in the circle on Matthew Butturini.
With seven minutes to go before half time, five Pakistani players broke into the Australian circle in a rare counter, but were stopped by Jamie Dwyer intercepting a pass across the shooting area.
Pakistan would have needed to win to advance. But after their counter attack, Australia upped the score to 3-0 with a low, hard penalty corner flick by Christopher Ciriello.
It was Ciriello again in the 33rd minute, who slammed the ball into the goal from the top of the circle past Pakistan's goalkeeper Imran Shah, whose great saves otherwise stopped the first half from becoming a rout.
Early in the second half, Russell Ford hammered a spectacular goal just under the cross bar.
Dwyer netted the ball half way through the second 35 minutes and Glenn Turner added a seventh goal with just over a minute to go, sliding onto a drop pass by Edward Ockenden.
"We would have been happy to get a draw today," said Australia's coach Ric Charlesworth.
"We now have to play Germany, so we have a task ahead of us. They're a high quality team, they're physically strong, they are skilled and they have some match winning players. It's going to be very tough. But when you get to this level of competition, whoever you play is very good."
Australia, who have won three of their five matches with five or more goals to nil, will now play world number two and Olympic champions Germany in their semifinal on Thursday.
Germany, who lost to the Dutch in their pool, are qualified in second place ahead of their match against New Zealand at 2015, thanks to a Dutch victory over South Korea earlier.
The Dutch, the only team yet to drop a point, had already qualified before Tuesday and will play either Britain or Spain in the semis.
Spain need to win to advance, while Britain are through with a draw.
Britain or England - all the players on the British squad are English - have not beaten Spain at a major international competition since 1987.
But the Spanish have lost two of their most experienced players. Skipper Santi Freixa broke his shoulder in the first match and striker Pol Amat dislocated his shoulder in the second.