Tillakaratne Dishan struck his second century of the series and Angelo Mathews hit his second test fifty to power Sri Lanka to 366 for eight at the close on the opening day of the final cricket test against India in Mumbai.
Opener Dilshan slammed 109 and shared in three crucial partnerships to lead Sri Lanka's charge for a series-levelling victory after opting to bat first.
Harbhajan Singh took four wickets and spin partner Pragyan Ojha claimed two scalps to stall the visitors' progress after Dilshan provided Sri Lanka with a confident 93-run start with Tharanga Paranavitana (53).
At the close, Mathews was unbeaten on 86 and Muttiah Muralitharan yet to get off the mark.
Sri Lanka, who are yet to win a test on Indian soil since their first visit in 1982, trail 1-0 in the three-match series after losing the second test by an innings and 144 runs.
Left-handed Paranavitana was fluent in his strokeplay as he recorded his first fifty on the tour before falling to Harbhajan.
India hit back after lunch by dismissing skipper Kumar Sangakkara (18), Mahela Jayawardene (29) and Thilan Samaraweera (1) to leave Sri Lanka on 213 for four at tea.