Australia started their home series against India on a winning note after they won the first ODI by 5 wickets in Perth on Tuesday.
Barindar Sran struck early to leave Australia struggling at 21 for 2, but centuries from George Bailey and skipper Steve Smith ensured a comfortable victory for the hosts. Steve Smith finished his innings at 149, while George Bailey was dismissed by Ashwin on 112.
Earlier, a superb unbeaten 171 from just 163 balls by opener Rohit Sharma helped India to an imposing 309 for 3.
Sharma and Virat Kohli, who made 91 from 97 deliveries, put on 207 runs for the second wicket on a placid WACA pitch against a largely toothless bowling attack.
After Indian skipper Mahendra Singh Dhoni won the toss and chose to bat, India lost opener Shikhar Dhawan (9) in the sixth over when he top-edged an attempted pull from Josh Hazlewood straight to Mitchell Marsh at deep backward square leg.
However, that brought Kohli to the crease and signalled a long period of complete dominance over the Australian attack, which included debutants Joel Paris and Scott Boland, as he raced to the highest individual ODI score against Australia on Australian soil.
Both new pacemen failed to impress — Paris going for 53 runs from eight overs and Boland 74 from 10 — with neither taking a wicket.
Australia went into the match without a frontline spinner, with Glenn Maxwell sending down only three overs of innocuous off-spin at a cost of 22 runs.
Sharma smashed 13 fours and cleared the boundary seven times to the delight of the large contingent of Indian fans at the ground.
He built his innings steadily, bringing up his 50 from 63 balls, his century from 122 and his 150 from 155, mixing quick singles with some powerful boundary hitting.
It was the fourth time Sharma had scored 150 in ODIs, a record only surpassed by countryman Sachin Tendulkar.
Sharma lost Kohli with the score on 243 and was joined at the crease by Dhoni, who joined in with 18 rapid runs before he was caught brilliantly at mid-on by Boland.