Openers Shikhar Dhawan and Lokesh Rahul made mincemeat of the Sri Lankan bowling attack to help India take a 49 run-lead and end the fourth day at 171/1 at the Eden Gardens here on Sunday.
Play was called off early due to bad light. After the tourists put up 294 on the board riding veteran left-arm spinner Rangana Herath's 67 to take a 122-run lead, Dhawan (94 off 116; 11×4, 2×6) and Rahul (73 not out; 8×4) went through the gears with ease milking the likes of Suranga Lakmal (0/29) and Lahiru Gamage (0/47) around the park.
Dhawan missed out on his seventh hundred in the longest format of the game by six runs. The pair engineered a 166-run stand for the first wicket.
Herath (0/25) could not make inroads as Dhawan brought up his fifty off 74 balls, flicking Dilruwan Perera to deep wicket for a single, while Rahul racked up his ninth half-century in 11 matches with a single right of mid-wicket to the same bowler.
Dhawan fell to Dasun Shanaka's (1/29) length delivery which nipped back and took the inside edge of his bat to wicketkeeper Niroshan Dickwella. The southpaw, under fire after dropping a regulation catch on the third day and playing a poor shot in the first essay, went for a review straightaway but was turned down.
Earlier, Perera stirred up a hornet's nest by apparently looking towards the dressing room during a Review System (DRS) call in the 57th over of Lanka's innings.
Batting on duck after playing seven balls with the score on 208/7, Perera was seen to be walking back after he was given leg before wicket by umpire Nigel Llong off a Mohammed Shami delivery which caught him in front of off-stump.
But after seemingly looking towards the dressing room, he turned back to ask for a review which showed the impact of the ball being outside the line of off stump.
According to the ICC's DRS Clause 3.2 (c): "In particular, signals from the dressing room must not be given."
Resuming the day on 165/4, the tourists lost four wickets for 79 runs before Herath (67 off 105; 9×4) stitched together a 46-run stand for the ninth wicket with Lakmal (16 off 37; 3×4) to steer Sri Lanka past the 100-run mark lead. This is the 39-year's old third fifty in the longest format. Herath also joined hands with Perera (5) for a 43-run eighth wicket association before the latter got out. Sri Lanka were all out for 294.
Mohammed Shami (4/100) and Bhuvneshwar Kumar (4/88) were the pick of the bowlers, with Shami taking all four wickets on Sunday. The Bengal pacer accounted for skipper Dinesh Chandimal (28 off 57; 3×4), Niroshan Dickwella 35 off 38; 5×4), Herath and Lakmal while Bhuvneshwar sent Dasun Shanaka packing for a duck. Umesh Yadav took two wickets on the third day leaking 79 runs. R Ashwin and Ravindra Jadeja, who bowled just one over, returned wicketless.
Lakmal, who was Sri Lanka's best bowlers in the first essay taking four wickets, had to leave the field due to injury after bowling just two overs. He was back later in the session.
Shami's first spell of the day and fourth overall (7-0-19-2) was excellent. Not only did he bag the wickets of the overnight batters, the fit-again fast bowler made the most of the early purchase from the wicket and used his skill to swing the ball away from the batsmen around the corridor of uncertainty.