Sri Lanka stretched their first innings lead to 91 runs with two wickets in hand despite India paceman Mohammed Shami's triple strike on the penultimate day of the rain-hit opening test on Sunday.

Mohammed Shami, who bowled without luck on Saturday, claimed three wickets in a fine display of seam bowling and Umesh Yadav claimed his third of the match to restrict Sri Lanka to 263-8 at lunch.

Rangana Herath made a useful 43 not out, a determined knock that included six boundaries, and was batting with Suranga Lakmal on 10 at the Eden Gardens.

Earlier, overnight batsman Niroshan Dickwella hit Shami for a boundary to level the scores after the tourists, chasing their first test victory in India, resumed on 165-4.

After regularly beating the bat, Shami finally tasted success with a rising delivery which kissed the edge of Dickwella's blade before flying to Virat Kohli in the slip. Dickwella's breezy 35 off 38 balls included five boundaries.

Shami went on to dismiss Sri Lanka skipper Dinesh Chandimal caught behind for 28 with an outswinger.

In between, Kumar trapped Dasun Shanaka lbw for nought. The batsman reviewed the decision but could not get it overturned as replays confirmed the ball would have hit the top of the middle-stumps.

Dilruwan Perera featured in a review drama after being adjudged lbw to Shami.

The batsman was on his way to dressing room when he suddenly turned around to challenge the decision which was overturned as the point of impact was found marginally outside the stumps.

Shami had the last laugh though, as he dismissed Perera caught behind for five.

Conditions on the first two days of the pace-dominated contest meant Herath had a very limited role with the ball and Sri Lanka's spin spearhead made his mark with the bat instead, frustrating the hosts with his dogged resistance.

(Reporting by Amlan Chakraborty in New Delhi; Editing by John O'Brien) ((amlan.chakraborty@thomsonreuters.com; +91 11 3015 8022; Reuters Messaging: amlan.chakraborty.thomsonreuters.com@reuters.net))