Usman Khawaja scored 59 during his first ODI in almost two years while Peter Handscomb, playing his first one-day match in 15 months, top-scored with 73 after Australia captain Aaron Finch won the toss and decided to bat.
Jason Behrendorff and Jhye Richardson, both called up in the absence of rested pace bowlers Mitchell Starc, Josh Hazlewood and Pat Cummins, quickly reduced India to four wickets for three runs.
Behrendorff trapped Shikhar Dhawan lbw for a golden duck then Richardson, who finished with figures of 4-26 and was named man of the match, removed Virat Kohli and Ambati Rayudu within three balls.
Sharma countered with his 22nd one-day century, sharing a 137-run stand with M.S. Dhoni as they threatened to take India to victory.
A victory equation of 75 runs from the final five overs ultimately proved insurmountable and Shama went down swinging at Marcus Stoinis.
Earlier, Stoinis smacked an unbeaten 47 off 43 balls as Australia batted out its full 50 overs for just the third time in nine ODIs under coach Justin Langer.