Clarke fielded until the 38th over of the emphatic Lankan run chase before leaving for treatment - he has a history of back-related hamstring injuries and only returned from a right hamstring strain last Sunday.
Clarke's century and an even 100 by Warner underpinned an Australian total aided by six dropped catches by the tourists.
But Lankan linchpins Dilshan and Mahela Jayawardene (80 from 76 balls) made light work in the third highest successful one-day run chase on Adelaide Oval.
The duo plundered a 179-run opening partnership from just 165 balls as Sri Lanka defeated Australia for the fourth time in six clashes this series.
Dilshan and Jayawardene rattled Australia's bowlers after Brett Lee set an off-tone with three wides in a nine-ball opening over.
Jayawardene escaped when caught behind off a Clint McKay no ball in the next over and Australia never recovered before a 15,309-strong crowd.
Dilshan's good fortune included being given not out on 77 edging to wicketkeeper Matthew Wade from Shane Watson's bowling.
The 35-year-old capitalised to post his ton from 110 deliveries, while evergreen Kumar Sangakkara mopped up with 53 not out.
Earlier, Clarke and Warner - who passed a pre-game fitness test on his injured groin - used stealth rather than strength to build their 184-run partnership.
But a waning Clarke, frequently flexing his back and unable to push his running between wickets, launched an audacious late flurry.
The skipper struck four sixes and reached his ton from only 81 balls - beating Warner to the milestone.
Warner, following his 163 in Sunday's first final in Brisbane, belied his powerhouse reputation and struck just four fours and one six in logging a century from 138 balls.
Clarke said he would have scans on his injured hamstring on Wednesday.
"I have done something to my left hamstring, I don't know to what extent,'' he said.
"But it's obviously not feeling good at the moment, that is for sure.''
Clarke said Australia's wayward bowling display followed his side falling about 40 runs short of a desired total.
"We are giving away too much width more than anything else,'' he said.
"We're getting a little bit of swing but we are giving good players width and you can't afford to do that on good batting wickets.
"We have got to be more disciplined.''
Sri Lankan skipper Jayawardene was fined 10 per cent of his match fee for clashing with umpires during Australia's innings.
The altercation happened when Clarke, while batting, appealed to umpires for a waist-high no ball ruling - and umpires subsequently gave it.
"I was probably the culprit in dragging it for too long,'' he said.
"I thought initially the umpire didn't make a call ... I had no issue with the no ball, but I felt after Michael had spoken to them, that is when they made the call.''