Tendulkar scored 140 off 127 balls including three sixes and then took four for 38 with his leg spin as Australia's last five wickets fell for 53 runs.
Mohammad Azharuddin, India's captain, was out for a duck in his 300th one-day international - an individual record - as his side made a shaky start. At one stage, they were eight for two.
But Tendulkar shared in century stands with Rahul Dravid and Ajay Jadeja as India became the first side in this competition to pass 300 runs.
Australia were ahead of the target at one point at 145 for one but when Mark Waugh played a reckless shot after reaching 74 off 79 balls, Tendulkar's turn mesmorised the middle order.
He started by removing the opposition's two most accomplished one-day batsmen, Steve Waugh and Michael Bevan. He deceived Steve Waugh in the air for an easy return catch and then bowled Bevan with one that moved away from the left-hander.
Australia never recovered from the blow and were shot out for 263 before a packed house of 40,000 at the National stadium.
This was Tendulkar's 19th one-day hundred and his third in successive innings against Australia. He said: ``Azharuddin said the greatest gift on this special day for him would be a win and we gave it him.''
India take on the winners of today's quarter-final between Pakistan and the West Indies in Saturday's semi-final of the knock-out tournament featuring the nine Test-playing nations.