Sanatah Jayasuriya notched a swashbuckling hundred to lead a Sri Lankan recovery and help them reach 273 against India in the final of the Asia Cup here on Sunday.
The dashing left-hander scored 125 after the defending champions had looked in trouble at 66-4, with paceman Ishant Sharma destroying the top order after they were sent in to bat by India at National Stadium.
Jayasuriya reached his 27th one-day hundred to become the second highest century-maker in one-day cricket behind India's Sachin Tendulkar, who has 42.
The 39-year-old, recalled for this tournament after being dropped for the West Indies tour in April, added an invaluable 131 runs for the fifth wicket with Tillakaratne Dilshan (56) after Sharma threatened a run through.
The 19-year-old Sharma dismissed Mahela Jayawardene (11), Chamara Kapugedera (five) and Chamara Silva (nought) in an incisive seven over spell after Sri Lanka lost opener Kumar Sangakkara run out for four in only the second over.
Jayasuriya took up the fight, with impressive hitting that included nine boundaries and five sixes during his 114-ball knock.
He clouted Sharma over mid-wicket boundary to bring up his half-century off 43 balls and then cut loose, hitting paceman Rudra Pratap Singh for three sixes and two boundaries to take 26 in an over.
He flicked off-spinner Virendar Sehwag for a single to reach his 27th one-day hundred off 79-balls.
He was finally dismissed after sweeping Sehwag straight into the hands of the mid-wicket fielder.
Dilshan smashed all of his three boundaries in one Irfan Pathan over before the paceman dismissed him hooking in the 39th over.
Sharma finished with 3-52 while Singh took 3-67.
Sri Lanka brought in Chaminda Vaas and spinner Ajantha Mendis who were rested in the Super League match defeat against India on Thursday.
India left out paceman Praveen Kumar to include a seventh batsman in Robin Uthappa, leaving them with only four regular bowlers.