South Africa were dismissed for 149, their lowest-ever Cup total as Tait finished with 4-39 while man-of-the-match McGrath took 3-18.
Australia then raced to the target with more than 18 overs to spare despite losing Adam Gilchrist and skipper Ricky Ponting early in the innings.
They will now meet Sri Lanka at Barbados on Saturday, a repeat of the 1996 Cup final at Lahore when the islanders beat Mark Taylor's Australians by seven wickets.
Australia are now unbeaten in their last 28 Cup matches and are aiming to become the first team in tournament history to complete a hat-trick of titles.
They were the champions in 1999, where they also beat South Africa in a group game before the famous semi-final tie against the same opposition put them into the Lord's final.
Australia were also champions in 2003 in South Africa.
"We lost a huge toss, but full credit to bowlers who executed the gameplans very well," said Ponting.
"McGrath has been in a great form and he's now the to