Skipper Rohit Sharma and Shubman Gill both hit centuries as India rammed home the advantage against England to lead by 46 runs at lunch in the fifth Test on Friday.

India were 264-1 in response to England's 218 by the break on day two at the picturesque Dharamsala stadium, overlooked by snowcapped Himalayan mountains.

The overnight pair of Rohit, on 102, and Gill, on 101, were batting at the break in a stand of 160 after India resumed at 135-1 on a bright and sunny morning.

Rohit raised his second ton of the series with a single off Tom Hartley to a standing ovation from the crowd.

Gill got to his hundred two balls later in the next over with a boundary off Shoaib Bashir as he took a bow and doffed his cap to all corners.

The batsmen played out two quiet overs at the start before Rohit smashed Bashir for a six and four.

Gill took on veteran James Anderson as he hit the pace bowler, who is two shy of 700 Test wickets, for a straight six and a cut behind backward point for four.

Rohit survived a dropped catch on 68 by Zak Crawley at leg-slip off Bashir and made the most of the spill.

In-form opener Yashasvi Jaiswal led India's reply with a brisk 57 but fell to Bashir after a 104-run opening stand with Rohit on Thursday.

Spinner Kuldeep Yadav's five-wicket haul handed India the early advantage as England collapsed from 175-3 to 218 all out after electing to bat in their bid for a consolation win.

India lost the opening Test but hit back to take an unbeatable 3-1 lead in the five-match series.