Tillakaratne Dilshan smashed his tenth Test century to lead Sri Lanka's fightback on Day 2 of the first Test against India, in Ahmedabad, on Tuesday.
The right-hand batsman dominated the day's proceedings with a quick 112 from 133 deliveries, inclusive of 12 boundaries, as Sri Lanka scored 275 for three in 70 overs at stumps.
They still trail India's first innings total by 151 runs, the hosts being dismissed for 426 in 104.5 overs earlier in the morning.
Zaheer Khan provided India some relief as he claimed the wickets of Dilshan and Kumar Sangakkara in successive overs after the two batsmen had added 115 runs for the second wicket.
Tharanga Paranavitana, who scored a solid 35, put on 74 runs for the opening wicket with Dilshan before the left-hander was caught behind off Ishant Sharma.
Earlier, Rahul Dravid failed to add to his overnight score of 177; he was bowled by Chanaka Welegedara. The Indian lower order did not last long either, adding only 41 runs in 14.5 overs for the loss of four wickets.
Left-arm pacer Welegedara, who claimed three wickets in the first session on Day 1, finished with impressive figures of four for 87 in 22 overs. Muttiah Muralitharan polished off the tail, claiming three for 97.
Morning session: (22.5 overs, 78 runs, 4 wickets)
Harbhajan Singh got the scoreboard moving when he pushed Dammika Prasad through the covers for a boundary in the second over of the day.
Dravid, though, failed to add to his overnight score; he was bowled by Welegedara for 177. Once again, Welegedara had beaten the batsman with his incoming delivery as Dravid looked to drive him down the ground.
India's hopes of attaining the 500-run mark suffered a big blow with the dismissal of Dravid, who had entertained on Day 1; he hit 26 boundaries and a six in his 261-ball knock. (389-7, 92.4)
New batsman Zaheer Khan also looked to maintain a positive approach. He played the uppercut against Prasad for a boundary over the slips and repeated the dose off the next delivery for consecutive boundaries in the 96th over of the innings.
Just when it looked as if the two tailenders were slowly building a partnership, Zaheer was unlucky to be given out leg before wicket for 12. The right-hander was beaten by the quicker delivery from Herath but struck on the leg side as ball spun in sharply; Umpire Daryl Harper adjudged him out. (413-8, 101.2)
Harbhajan tried the fancy reverse sweep against Muralitharan but could only inside edge it back onto his stumps after a good knock of 22 from 54 deliveries, inclusive of two boundaries. (426-9, 104.1)
Ishant Sharma lasted just four deliveries; he was beaten all ends up by the doosra from Muralitharan and stumped for a duck. (426-10, 104.5)
The early dismissal of Dravid dashed India's plans, as they could add only 41 runs in 14.5 for the loss of four wickets on the second morning.
Dilshan and Paranavitana started off solidly against Zaheer and Ishant, looking to give away early wickets. And when Harbhajan was introduced into the attack in the seventh over, they went after him. Dilshan charged down the wicket and tried to loft him over midwicket but the ball fell short of Ishant at the midwicket boundary.
India's fielding once again let their bowlers down. Zaheer was hit for three boundaries in the eighth over and all of them were because of misfielding, much to the frustration of the bowler.
Post-lunch session (26 overs, 118 runs, 1 wicket):
Dilshan looked to take on the bowlers after the break and on one occasion nearly gloved while attempting a pull against a quick short delivery from Zaheer.
Paranavitana also lashed out at anything wide and full, hitting boundaries in consecutive overs from Ishant and Sharma to bring up Sri Lanka's 50 in the 12th over.
While Zaheer tested the batsmen with a probing line and length coupled with the occasional bouncer, Ishant struggled to make an impression.
Sri Lanka scored 25 runs from the first seven overs after the break to reach 62 for no loss after 15 overs before leg-spinner Amit Mishra was introduced into the attack. Dilshan was in no mood to let him settle down and danced down the wicket and carted the leg-spinner for back-to-back boundaries.
But it was Ishant who got the breakthrough when he dismissed Paranavitana, caught behind for 35 from 55 deliveries. The left-hander edged an outswinger and wicketkeeper Dhoni completed a brilliant catch, diving full length to his left just in front of the first slip fielder. (74-1, 16.5)
Kumar Sangakkara slammed his first boundary through the cover region when Mishra obliged him with a short, wide delivery. The left-hander then drove a full delivery wide of the mid-off fielder for his second boundary to take Sri Lanka to 91 for one after 20 overs.
Dilshan seemed intent on taking on Harbhajan as he stepped down the wicket and hit a full delivery through covers for a boundary off the first delivery of his new spell. He completed his half-century, his 14th in Tests, off 65 deliveries with a double on the leg side off Harbhajan in the 23rd over. This is his third half-century in a row at this venue following the two fifties he made at this venue, the last time Sri Lanka played here, in December 2005.
After a sedate start, Dilshan suddenly changed gears and all the Indian bowlers struggled to keep him in check. Harbhajan, in particular, seemed clueless against Dilshan, who hit him for boundaries in consecutive overs to race to 65 from 74 deliveries, inclusive of seven boundaries.
Zaheer came for a new spell but the result was no different as Dilshan slammed him for two more boundaries through the off-side to take Sri Lanka to 142 for one after 30 overs.
Just like the first session, even the post-lunch one went Sri Lanka's way, as they scored 118 runs in 26 overs for the loss of one wicket.
Dilshan closed in on his century, as he finished unbeaten on 88 from 106 deliveries, with Sri Lanka well-placed on 155 for one after 34 overs at the tea break.
The right-hander had struggled at the start of the session, but once he found his range he was unstoppable. He scored his last 62 runs from just 63 deliveries.
The Indian bowlers, except for Ishant who took one for 36 in nine overs, had nothing to show. Mishra disappointed as he went for 40 runs in seven overs, while Harbhajan bowled seven listless overs for 33 runs.
Post-tea session: (36 overs, 120 runs, 2 wickets)
Dilshan was quick to take the attack to Mishra after the break. The leg-spinner came around the wicket and pitched on the leg stump but Dilshan came down the wicket and gave himself room for another boundary through the covers.
The 33-year-old completed his century in style when he cut Ishant through the point region for his 11th boundary of the innings in the 38th over. This was his tenth century in Tests and second against India, and came off just 120 deliveries, helping Sri Lanka build a solid platform.
In the same over, the duo completed their 100-run partnership off 128 deliveries for the second wicket. Not surprisingly it was Dilshan who dominated the partnership scoring 67 of the runs, while Sangakkara played second fiddle having contributed just 26.
Just when it looked Sri Lanka were running away towards a big score, India staged a strong comeback through Zaheer, who stunned the visitors with wickets in successive overs.
Zaheer came back for a new spell and started off with a quick bouncer that paid off with the big wicket of Dilshan. The right-hander was too late as he tried to pull one outside the off-stump and ended up spooning a simple catch to Dravid, who ran in from point. The dashing opener had given Sri Lanka the perfect platform as he smashed a quick 112 from 133 deliveries, inclusive of 12 boundaries.
After a good opening partnership, he consolidated Sri Lanka's position adding 115 runs in 26.2 overs for the second wicket with Sangakkara. (189-2, 43.1)
Zaheer then tried the same dose on Sangakkara with another bouncer. Sri Lanka's captain fell for the trap as he pulled it straight to Tendulkar on the fine leg boundary. He was out after a patient innings of 31 from 85 deliveries. (194-3, 45.3)
Sri Lanka's discomfort against the short rising deliveries was evident as they seemed in two minds when dealing with Zaheer.
With India packing in fielders around the bat, Mahela Jayawardene decided to break the shackles as he danced down the wicket and lofted Harbhajan over mid-on for a six.
In the off-spinner's next over, Thilan Samaraweera also tried the same shot when he came down the pitch to a flighted delivery and drove it back past the bowler for a boundary.
India managed to control the flow runs to some extent following those two wickets as just 24 runs came in the next ten overs as Sri Lanka reached 218 for three after 56 overs.
After a few quiet overs, both Samaraweera and Jayawardene went on the attack courtesy some positive footwork against the two spinners. Samaraweera slammed Mishra for back to back boundaries through the off-side as the leg-spinner offered a bit of flight and width in the 59th over.
There were hardly any problems for the Sri Lankan pair in the remaining few overs as they milked the bowlers around easily.
At close on the second day, Sri Lanka were 275 for three in 70 overs, still trailing India's first innings score by 151 runs.
Samaraweera was unbeaten on 45 from 86 deliveries, while Jayawardene was not out on 36 from 70 deliveries, the duo having already added 81 from 148 deliveries for the fourth wicket.
Zaheer, back from a long injury lay-off, brought all his experience into play. He forced the batsmen into mistakes with good use of bouncers for figures of two of 45 in 15 overs, while Ishant took one for 53 in 14 overs.
In contrast, the spinners had a forgettable day as Mishra was carted around for 89 runs in 18 overs and Harbhajan too failed to deliver; he went for 72 runs in 20 overs despite looking threatening at times.
A total of 701 runs have been scored in 174.5 overs for the loss of just 13 wickets in two days on this wicket. The pitch is offering spinners some help but the batsmen have prospered so far and it is difficult to see either of the teams forcing a result unless one has a real bad session.