(CNN) -- Opener Tillakaratne Dilshan scored a superb century as Sri Lanka forced their way back on the second day of the first Test against India in Ahmedabad.
Dilshan smashed 112 and featured in solid partnerships with fellow-opener Tharanga Paranavitana (35) and captain Kumar Sangakkara (31) as Sri Lanka completed a day of dominance.
Fast bowler Zaheer Khan opened a window of opportunity for the hosts by snaring Dilshan and Sangakkara in successive overs in the final session, but Mahela Jayawardene (36 not out) and Thilan Samaraweera, five from a half-century, denied the home side further inroads as Sri Lanka ended on 275 for three, 151 in deficit.
Zaheer had looked menacing with the new ball, but with little assistance from the pitch, Sri Lanka were off to a good start and Dilshan looked comfortable.
Together with left-handed Paranavitana, Dilshan added 74 for the opening wicket at a brisk pace, effectively putting the pressure back on the home side.
Ishant Sharma eventually severed that stand, forcing Paranavitana to fend at a delivery that moved away a touch and he edged to wicketkeeper Mahendra Singh Dhoni who held an excellent catch in front of first slip.
Save for that burst from Zaheer with the new ball, India's attack had looked ordinary and it allowed Sangakkara to hit his stride.
With the Sri Lankan skipper holding up one end, Dilshan continued to play freely and eventually reached his 10th Test hundred -- his fifth this year -- by cutting leg-spinner Ishant for a boundary.
The two had added 115 for the second wicket when Zaheer produced another fine burst to snare both batsmen.
Dilshan was tempted with a short ball, but mistimed his pull and ended up presenting Rahul Dravid a simple catch at gully.
Sangakkara was also done by a short ball, the captain top edging to Sachin Tendulkar at fine leg.
The twin dismissal left Sri Lanka at 194 for three, but Mahela and Samaraweera put the visitors' pursuit back on track.
Both batsmen began cautiously until Samaraweera, who has already scored 1083 runs in eight Tests in this calendar year, shed the shackles by driving Mishra for consecutive boundaries. The fourth-wicket pair have so far added 81 in an unbroken stand.
In the morning, master spinner Muttiah Muralitharan finished with three wickets as the hosts were bowled out in the first session.
Muralitharan, who had snared Yuvraj on Monday, added the wickets of tailenders Harbhajan Singh and Ishant to his tally, while fast bowler Chanaka Welegedara removed Dravid, the batsman falling without adding to his overnight score of 177.
Dravid fell in the third over of the morning, Welegedara collecting his fourth wicket by bowling the batsman via an inside edge as he attempted to drive.
Harbhajan, two overnight, then added 25 for the eighth wicket with Zaheer taking India's total past the 400-run mark in the process.
But Sri Lanka's spinners made short work of the tail. Left-arm spinner Rangana Herath trapped Zaheer in front, while Muralitharan claimed the wickets of Harbhajan and last man Ishant to finish with a three-wicket haul.