India need only 176 runs to win the first Test against Sri Lanka in Galle, and at stumps on day three the visitors sat on 23 for one, promising a day to spare on the weekend.
Sri Lanka started the day two down for just five runs on the board, but a Dinesh Chandimal century, unbeaten on 162 at the end, saw them save some face and push the game to day four. They were all out for 367 though.
The hosts trailed by 187 at the start of the day, and when quick wickets fell in the morning session, including the night watchman in the first over, it looked like the game might not see the weekend at all.
Dhammika Prasad, sent in to protect the top order the night before, was out to a Varun Aaron bouncer soon after the start, caught by Ajinkya Rahane. It was one of eight catches he'd take in the game, a record for a non-keeper.
Kumar Sangakkara and Angelo Mathews then steadied the ship for a while, taking the score to 92 across the next 20 overs, before Sangakkara was out for 40. He was superbly caught by a diving Rahane in the slips, thus ending his Test career in Galle.
Mathews followed soon afterwards, for 39 to Amit Mishra, and suddenly Sri Lanka were back in the mud, on 95 for five. But Chandimal and Lahiru Thirimanne, and later Jehan Mubarak, ensured the recovery.
Chandimal and Thirimanne put on 125 together, into the middle after the afternoon session, before the latter was out for 44, caught by Rahane off Ashwin. Mubarak then stick around till after tea, making 49.
There were quite a few controversial moments during the day though, as the lack of Decision Review System became obvious. Two edges were denied by the umpires, leaving India skipper Virat Kohli apoplectic with rage and risking a reprimand.
Chandimal was also given a life early on, when a shot he played rebounded off short leg's boot to be caught. But replays could not conclusively say that there was no ground involved, and the batsman go the benefit of the doubt.
The last three batsmen were out for single figures, with Chandimal doing all the scoring at the other end, but Nuwan Pradeep was unable to keep Ashwin out and was bowled with 10 overs to go before stumps. Ashwin thus ended 1ith 10 wickets in the match, the first time he's done so away from home.
India then batted for eight overs, losing two to the change-over, and lost KL Rahul in that time. He was trapped plumb in front by Rangana Herath, leaving India needing 153 more runs to take a lead in the three-match series.