India beat Bangladesh by 110 runs in Tuesday's other group-stage match to stay in semifinal contention. A third win from six games lifted India into third place behind Australia and South Africa and ahead of West Indies on run-rate, though it faces a tough finish against South Africa in its last match.
India made 219-7 after choosing to bat first and bowled out Bangladesh for 119, the lowest score of the tournament so far.
In winning so impressively against its nearest rival, Australia made itself an even stronger favorite to win the title for the seventh time.
Australia again demonstrated its depth as star all-rounder Ellyse Perry bowled only three overs and didn't bat because of an injury, yet it coped because of the extent of its batting and bowling resources.
Lanning inevitably was the Player of the Match, as she was for her 97 in Australia's previous match against India. She was almost uncontainable, though there was a period late in her innings when South Africa pace bowler Shabnin Ismail tested her with fast and short deliveries just on or outside off-stump.
Lanning had to curb her attacking instinct during that period before picking up the scoring pace again.
"She was bowling quick, she didn't bowl any bad balls and that period of play swung the momentum back a little bit towards South Africa," Lanning said. "So it was nice for me to be able to get through that ... because it could have been a little bit dangerous."
Ismail returned 2-33 and was the best of South Africa's bowlers. But she lacked support from her fielders, creating chances but seeing several catches dropped.
That underscored another point that has become clearly evident as the tournament has proceeded. The team that hopes to beat Australia will have to produce its very best performance and make no errors.
Lanning and Australia were ruthless in their punishment of errors on Tuesday, taking advantage of any bad balls and banking the chances that came from dropped catches.
Australia also was outstanding in the field. Gardner took a magnificent catch at deep mid-wicket to dismiss Mignon de Preez during the South Africa innings, leaping high and taking the ball with one hand extended high above her head.
South Africa's innings also had one principal driving force. Laura Wolvaardt made 90 for her fourth consecutive half century. She put on 91 for the third wicket with her captain Sune Luus (52) but South Africa still fell short of a total which was fully competitive.
India's decision to bat first against Bangladesh seemed vindicated when Smriti Mandhana (30) and Shafali Verma (42) combined in a 74-run opening stand. But it then lost three wickets within five balls.
Yastika Bhatia (50) held the innings together with her second consecutive half century and Richa Ghosh (26), Sneh Rana (27) and Pooja Vastrakar, with an unbeaten 30, made valuable contributions.
Sneh Rana then took 4-30 as India bowled out Bangladesh in just over 40 overs. Rajeshwari Gayakwad took 1-15 from her 10 overs and bowled four consecutive maidens as India kept up steady pressure on the Bangladesh batters.
Salma Khatun was Bangladesh's leading scorer with 32.
"We look forward to the next game," India captain Mithali Raj said. "We had a good opening partnership and on a wicket like this it is always hard for incoming batsmen to start getting runs but there was a very important anchor role played by Yastika."