The left-hander smashed 13 sixes and eight fours in his 121-ball knock as the tourists posted a challenging 342-5 before restricting a Sri Lankan XI to 250-6 in a 50-over clash.
The five-match one-day series starts in Dambulla on Monday.
Yuvraj went on the rampage after completing his century, hitting four successive sixes off spinner Jehan Mubarak. He was caught at deep mid-wicket by Mahela Udawatte while attempting a big hit off seamer Chanaka Welegedara.
"The knock gave me a lot of confidence. I had prepared well before coming here and hope to maintain my form. My intention was to spend time in the middle because I haven't played for a while. Then I played my strokes," said Yuvraj.
"The conditions will be different in Dambulla, so we tried to have partnerships to make a good total. It's important we play according to the conditions and that's what we will try there."
Yuvraj was involved in three valuable stands, adding 77 for the third wicket with Suresh Raina (45), 85 for the next with Rohit Sharma (24) and 99 for the sixth wicket with skipper Mahendra Singh Dhoni (20 not out).
The hosts never looked like reaching the stiff target despite impressive half-centuries from middle-order batsman Mubarak (60) and left-handed opener Upul Tharanga (50).
Left-arm seamer Irfan Pathan was the most successful Indian bowler, taking 2-48, while off-spinner Harbhajan Singh claimed 1-38 off 10 tight overs.
Sri Lanka won the recent Test series with India 2-1.