Centuries from captain Rohit Sharma and Shubman Gill helped India extend their lead to 255 on Day 2 of the final Test against England in Dharamsala on Friday.

The hosts finished day two on 473/8 with Kuldeep Yadav (27) and Jasprit Bumrah (19) stitching an unbeaten 45 run-partnership for the ninth wicket.

India started their domination as Sharma (103) and Gill (110) drove home the lead following India's overnight start of 135/1.

After Sharma and Gill were dismissed, India's middle-order stumbled post tea as spinners Shoaib Bashir (4/170) and Tom Hartley (2/126) took quick wickets, but Yadav and Bumrah helped India get back on track in the final session.

Sarfaraz Khan made 56 and debutant Devdutt Padikkal hit 65 to help India build on the momentum Sharma and Gill provided early but Bashir got the two out with his off-spin as India lost regular wickets.

Sarfaraz, who reached his fifty in 55 balls, was caught at slip on the first delivery after tea.

India lost three wickets in the space of nine balls, with left-arm spinner Hartley claiming two in one over to expose the tail.

England's highlight of the day came in the second over after lunch, when Stokes bowled his Indian counterpart Sharma with a delivery that seamed off the ground and rattled the batsman's off stump.

It brought an end to a blazing 171-run second-wicket partnership with fellow centurion Gill. Stokes returned to bowling for the first time since knee surgery. He bowled five overs for 17 runs, including a maiden, before taking to the field for the remainder of the day.

Anderson got one to nip back in and bowled Gill to pick his 699th Test wicket. The 41-year-old is one shy of becoming the third bowler to take 700 Test wickets, after Sri Lanka's Muttiah Muralitharan (800) and the late Australian great Shane Warne (708).