Virat Kohli upstaged the returning Ben Stokes as India narrowly had the better of day one in the third Specsavers Test at Trent Bridge.

Kohli made 97 and Ajinkya Rahane contributed 81 as they shared India’s ground-record fourth-wicket stand to give the tourists a foothold at last in the series where they trail 2-0.

India reached 307 for six at stumps after Joe Root put them in.

The scene was set here for Stokes to take centre stage on his return to Test cricket, a controversial selection with some despite his affray acquittal at Bristol Crown Court on Tuesday.

England’s Ben Stokes was back in Test action
England’s Ben Stokes was back in Test action (Tim Goode/PA)

But try as he might, England’s premier all-rounder drew a blank in four spells – and it was Chris Woakes who gave India most to think about until Kohli and Rahane took over in a partnership of 159.

Woakes took three for 75 on Saturday, having stepped into the side and impressed at Lord’s last week when Stokes was busy in Bristol.

Kohli and Rahane shut out England during the afternoon and well into the evening, before both fell short of three figures – Kohli eventually caught at slip by Stokes, aiming to hit an Adil Rashid leg-break for the boundary which would have completed his hundred.

India nonetheless held sway, debutant wicketkeeper Rishabh Pant hitting his first Test runs with a six over long-on second ball off Rashid in a handy stand with Hardik Pandya either side of the second new ball.

The tourists appeared determined from the outset to make sure England’s bowlers would have to work harder here than for their quickfire, landslide win at rainy Lord’s.

The new ball swung prodigiously under cloud cover.

But Shikhar Dhawan, back as opener in place of Murali Vijay after India made three changes to their losing team, batted with good sense and skill, as did KL Rahul.

The result was a partnership of 60, at that point India’s highest for any wicket in the series, only for the introduction of Woakes to spark a lunchtime wobble.

Dhawan’s was the first of three wickets to fall for 22 runs, neatly caught at second slip as he edged one on the back-foot defence.

Rahul was then unable to handle exaggerated seam movement, which pinned him lbw defending deep in his crease, before Cheteshwar Pujara hooked the last ball of the morning straight to Rashid at long leg.

Kohli stood aghast at the non-striker’s end, all the more entrenched for the second session as he and Rahane duly put together an exemplary stand.

There was barely an anxious moment as they profited especially off Stokes and also when Root turned to Rashid – who was farmed, risk-free, for almost six an over in his first spell.

Virat Kohli played a gem of an innings
Virat Kohli played a gem of an innings (Tim Goode/PA)

The evening began with a wonderful effort by James Anderson to pull off a one-handed catch above his head at point as Rahane launched a ferocious cut at Woakes on 57.

It stopped a certain four but Anderson could not hold on, and it was only a moment of brilliance from Alastair Cook at slip that eventually broke the partnership – Rahane with the edge off Stuart Broad and England’s former captain displaying memorable reactions to hold the half-chance one-handed away to his left.

Kohli seemed sure to bag his second century of the summer, until his misadventure against Rashid.

But India still finished on top.

Keaton Jennings put down a straightforward catch at third slip when Broad got extra bounce to hit Pandya on glove and shoulder – but the deserving Anderson had the same batsman edging the final ball of the day for Jos Buttler’s second slip catch.