India hurtled towards their ninth successive series victory as they left Sri Lanka precariously placed at 31 for three and staring at another humiliation in the third and final Test here today.
The visiting Lankans were set an improbable victory target of 410 to level the three-match series.
Sri Lanka batted the 16 overs during the final 85 minutes of play on the fourth day with an aim to survive rather than play positive cricket.
If the scoreboard was any indication, the ploy backfired on the visitors.
Mohammed Shami (1/8 in 3 overs), who was unwell after a three-over burst, bowled a hostile spell and accounted for Sadeera Samarawickrama (5).
A barrage of short deliveries unnerved the opener, who was hit on the temple of the head while fielding in India's first innings. Shami played on his psyche, with well-disguised bouncers into his body -- one such he fended awkwardly and offered a simple catch to Ajinkya Rahane in the slips.
The ever-accurate Ravindra Jadeja (5-2-5-2) had Dimuth Karunaratne caught behind, giving Wriddhiman Saha his fifth catch of the match. The decision to send Suranga Lakmal (0) as night-watchman backfired as he played on while trying a forward defensive prod.
Earlier, skipper Virat Kohli (50 off 58 balls), Rohit Sharma (50 off 49 balls) and Shikhar Dhawan (67 off 91 balls) made useful contributions as India declared at 246 for five, with an overall lead of 409 runs.
With a 163-run first innings lead, the Indian batsmen showed intent to score quick runs, getting them at a rate of 4.70 in the 52.2 overs in the second innings.
It was a 77-run stand in 17.2 overs for the third wicket between Cheteshwar Pujara (49 off 66 balls) and Dhawan in the post lunch session that set the platform for Kohli and Rohit to accelerate in the final session.
The Indian skipper and his limited overs deputy added 90 runs in only 15.2 overs.
Kohli had only three fours but ran brilliantly between the wickets along with Rohit, who, among his five boundaries, had a gorgeous pull-shot to his credit. The moment he reached his sixth consecutive half-century in Tests, Kohli signalled for a declaration.
It was Pujara, whose uncharacteristic batting set the tone for India in the second innings.
The Saurashtra batsman was even more attacking than Dhawan, whose innings was laced with five fours and a six down the ground off chinaman Lakshan Sandakan.
The two batsmen were especially severe on off-spinner Perera. Whenever he dropped it short, the batsman hit him on either side of the wicket.
If he tried to give flight, they stepped out and manoeuvred it for singles and doubles. Pujara was finally dismissed when Dananjaya de Silva got one to drift and straighten, taking the outside edge to land into Angelo Mathews's safe pair of hands. He was unhappy to have returned just a run short of another well-deserved half-century.
Dhawan completed his half century off 82 balls, taking a single off Sandakan. He became De Silva’s second victim when he tried to loft him for his second six, stumped by Dickwella.
What stood out like a sore thumb was another failure from Ajinkya Rahane, whose woeful run continued.
Kohli promoted Rahane (10) to give him enough time to settle down and bat his way out of form. However, desperation to hit his way out of trouble brought about his downfall.
He stepped out to Dilruwan Perera and the lofted shot found Lakshan Sandakan at the long-on boundary.
It came after Vijay (9) had played a lazy shot away from the body of Suranga Lakmal to give a catch to Niroshan Dickwella behind the stumps.
Earlier, courtesy skipper Dinesh Chandimal's career-best 164, Sri Lanka scored 373 in their first essay, conceding a 163-run lead to the hosts. Ishant Sharma (3/98) got Chandimal to wrap up the Lankan innings.
The Sri Lankan players once again wore anti-pollution masks from the start of the Indian second innings due to the prevailing pollution in the national capital.
Lakmal, in fact, threw up a couple of times while fielding at the third man area and the groundsmen had to put sand.
For a change, the Sri Lankan players were wearing N95 anti-pollution masks, required to protect the lungs from the "very poor" air quality in Delhi.