Sri Lanka 135 (Chandimal 48, Kuldeep 4-40, Shami 2-17) and 19 for 1 (f/o) trail India 487 (Dhawan 119, Pandya 108, Rahul 85, Sandakan 5-132, Pushpakumara 3-82) by 333 runs

Scorecard and ball-by-ball details

play 2:19 Dasgupta: Pandya's century had phenomenal hitting Deep Dasgupta says Hardik Pandya's success with the bat and ball bodes well for India as they look for a fast-bowling allrounder before big away series

The second day of the Pallekele Test began with Sri Lanka in their most promising position of the series. It ended with them a long way down the forest path towards another massive defeat, with hardly a sliver of sunlight to be seen. Hardik Pandya slipped the blindfold on them, with a brilliantly paced maiden Test hundred that stretched India's first-innings total to 487; Mohammed Shami's new-ball spell applied the machete jab to their backbone, instructing them to keep walking and try no funny stuff; and Sri Lanka themselves walked the rest of the way, a number of their batsmen throwing away their wickets as they slid to 135 all out in only 37.4 overs.

Having secured a 352-run lead, Virat Kohli enforced the follow-on for the second time in successive Tests. It left enough time for India to bowl a further 13 overs, enough time to take one more wicket, Upul Tharanga chopping Umesh Yadav onto his stumps. It was Tharanga's second dismissal in just over four hours. At stumps, Sri Lanka were 19 for 1, needing a further 333 to make India bat again.

Sri Lanka's first-innings largesse allowed Kuldeep Yadav to settle into a menacing rhythm and pick up his second four-wicket haul in only his second Test. He had begun expensively - erring on the full side, usually, or getting swept - as he found himself in the middle of a counterattacking fifth-wicket stand of 63 between Dinesh Chandimal and Niroshan Dickwella.

But Dickwella, taking one risk too many, slogged down the wrong line of a wrong'un after jumping out of his crease, precipitating a slide that cost Sri Lanka their last six wickets for 34 runs. That slide contained numerous signs of a loss of fight from Sri Lanka: Dilruwan Perera slogged one to deep square leg, Chandimal looked to flick one around the corner without taking a proper stride out, Malinda Pushpakumara left a big gap while attempting a drive against the turn.

It was Shami, landing nearly every ball on the seam and making the batsmen play just as often, who set Sri Lanka's batting horrors in motion. He was at peak rhythm right from his first ball, a bouncer that forced Dimuth Karunaratne to duck hurriedly. Bowling around the wicket to the two left-handed openers, he dismissed both with balls that held their line after angling in from wide of the crease. Both balls landed on the perfect length, and in successive overs both Tharanga and Karunaratne had nicked Shami behind, their feet frozen at the crease.

The examination continued against the right-handed pair of Kusal Mendis and Chandimal, with the the latter surviving an lbw appeal, DRS returning an umpire's call verdict on height. The pressure Shami was exerting - utterly suffocating, despite Umesh Yadav straying onto the pads repeatedly at the other end - played some part in the mix-up that cost Sri Lanka their third wicket, and two pieces of excellent fielding from R Ashwin at mid-on and Kuldeep at extra-cover sent back Mendis in the ninth over of their innings. Four balls later, Sri Lanka were 38 for 4, Angelo Mathews lbw to Pandya, pinned on the crease by one that kept a touch low.

In the first two Tests, Pandya had largely been used in a supporting role to relieve the burden on India's four main bowlers. Now, he had come on as first change. This may have had something to do with the innings he had just played.

It was an innings of two distinct halves. Pandya had just reached his half-century when India lost their ninth wicket, some ten minutes before the scheduled lunch break. The interval was duly pushed back by half an hour, and Pandya went on to dominate a tenth-wicket stand of 66, racing from 50 off 61 balls to 108 off 96, with the No. 11 Umesh scoring 3 off 14 in that time.

By the time he was the last man out for 108, in the first over after lunch, Pandya had become the second Indian batsman in the series to score a century in a session, after Shikhar Dhawan on the first day of the first Test in Galle. He was out third ball after resumption, slicing a Lakshan Sandakan googly to the fielder on the cover boundary. Sandakan finished with figures of 5 for 132, his first five-wicket haul, coming in his sixth Test match.

Sri Lanka had begun the second day with the verve and menace with which they had ended the first, Vishwa Fernando finding extra bounce to have Wriddhiman Saha caught at gully in its second over and leave India 339 for 7. Fernando kept testing the batsmen with swing, bounce and a bit of seam, and at one point beat the No. 9 Kuldeep Yadav four times in succession - three times going past the outside edge and once past the inside edge to provoke a loud lbw appeal.

Mohammed Shami got seam movement to dismiss Sri Lanka's openers Associated Press

Having survived that, Kuldeep put his head down and ground out 26 off 73 balls to help add 62 for the eighth wicket with Pandya. That partnership came at 3.17 an over, indicative of how hard Sri Lanka's bowlers made both Kuldeep and Pandya work for their runs. During this phase of his innings, Pandya treated the bowling with respect, keeping an eye out for the odd short ball from the fast bowlers, which he put away with pulls, punches and ramps over the keeper.

Otherwise, he simply took the singles on offer against Sri Lanka's defensive fields. The bowlers and Pandya circled each other warily in this period; they knew of his hitting ability, he knew they knew, and for now he would bide his time.

Then, Sandakan struck twice in three overs, finding Kuldeep's edge with dip and turn after drawing him forward with his flight, and then taking a sharp return catch when Shami drove him hard and straight. It brought the No. 11 to the crease, and provoked a change of approach from Pandya.

By this time, Pushpakumara had bowled four overs in the morning, and his figures read 22-2-56-3. Over the course of his next five balls, Pandya went on to mangle those figures, taking 26 runs off them with the cleanest striking imaginable, all of it executed with the stillest of heads and the smoothest of bat-swings.

He began the over with a flat, slog-swept four, and followed it with a charge down the pitch for a stinging flat-bat hit past the bowler's left hand. Then came three successive straight sixes, one of them clearing the sightscreen and another punching a hole through it. This was the head-on confrontation that the morning had been building towards all along.

Sandakan, varying his pace and keeping batsmen guessing the direction of turn, conceded only three off the next over despite Pandya being on strike through most of it. Then Lahiru Kumara replaced Pushpakumara, pace replacing spin. No matter; Pandya hooked his second ball for six, premeditating by taking guard on off stump and hitting clean and hard. Into the 90s.

Another six in the next over, over midwicket off Sandakan, took him to 97, and the century came up with a straight drive off Kumara - a straight-bat push to the left of a diving mid-on. He had become the fifth Indian to score his maiden first-class hundred in a Test match, after Vijay Manjrekar, Kapil Dev, Ajay Ratra and Harbhajan Singh.