Australia saved their best for the last as Indian middle-order wilted under pressure exerted by part-time off-spin of Glenn Maxwell, losing the third ODI by 66 runs here on Wednesday.
India however won the series 2-1.
India were cruising along at 171 for 2 chasing a stiff target of 353 on a placid track but the middle-order crumbled in chase with Maxwell (4/40) getting crucial breakthroughs to restrict the hosts to 286 in 49.4 overs.
Skipper Rohit Sharma (81) and Kohli struck fifties to provide the middle-order with a perfect platform in the big chase, but the rest floundered to hand Australia the advantage.
Earlier, Mitchell Marsh (96) headlined Australia's best batting show with David Warner, Steve Smith and Marnus Labuschagne helping themselves to attacking half-centuries during a commanding performance to break a five-ODI losing streak.
The two teams will now play a couple of warm-up games before meeting again in 10 days' time for the tournament-opener in Chennai on October 8.
While Marsh missed reaching triple figure by a whisker, Australia's batters came good collectively in what was their last official ODI before the start of the World Cup.
Warner had himself to blame for his dismissal after a fiery 56 off 34 balls (6x4s, 4x6s), but he set the tone for Australia early on.
Smith also put brakes on his poor run of scores to make a rapid 74 and towards the end, Labuschagne upped the ante with his 58-ball knock to help Australia post their challenging score.
Labuschagne also became Australia's top run-getter in the ongoing calendar year.
During the chase, Rohit clobbered six sixes and five fours to race to 81 from 57 balls and recorded his ninth fifty against Australia and 53rd overall, while Kohli, who looked good for his 48th ODI ton had to settle for 66th half-century.
The two batters put on 70 for the second wicket and took India close to the 150-run mark by the 21st over, but after Rohit and Kohli were dismissed, the others fumbled collectively.
Maxwell accounted for Washington Sundar (18) and then held onto a stunning reflex catch of Rohit, had Kohli mistime a pull-shot and fooled Shreyas Iyer (48) with a beauty to mark an impressive return after a six-month long injury layoff.
Josh Hazlewood took 2/42 and Cameron Green claimed 2/30 to provide ideal support for Maxwell.
Rohit began with two spectacular sixes off Mitchell Starc over cover and pulled Pat Cummins twice over midwicket with command to provide early impetus.
The India captain, coming off a two-game break, hit the straps immediately which also made up for the dot balls his first-wicket partner Washington Sundar consumed.
The makeshift opener Washington Sundar pulled Hazlewood for his first four and smacked Cummins for a six — reminiscent of his famous six from the 2020-21 Australia tour — but perished for 18 off 30 balls.
Rohit and Kohli went about their jobs unchallenged for the better part of their stand, but their association came to an abrupt end in the 21st over when Maxwell, taking an evasive action on a powerful shot from the India skipper, ended up catching the ball one-handed.
Maxwell continued to make inroads as this time he got the key wicket of Kohli, who, looking to clear Steve Smith at midwicket, got a top edge, which was collected by the fielder running behind.
Despite a set platform to take the mantle, India’s middle-order stuttered which allowed Australia to grab control.
KL Rahul added 52 runs with Iyer for the fourth wicket but fell to Starc after a 30-ball 26 and Suryakumar Yadav (8) pulled one short from Hazlewood to Maxwell.
Maxwell then cleaned up Iyer for a 43-ball 48 (1x4s, 2x6s) and Hazlewood had Kuldeep Yadav chop one onto his wickets.
Ravindra Jadeja scored 35 from 36 balls (3x4s, 1x6s) but had no batting partner left to try avoiding the inevitable.