London - KL Rahul and Rishabh Pant both scored impressive hundreds as India continued to deny James Anderson a record-breaking wicket with a remarkable fightback against England in the fifth Test at the Oval on Tuesday.
India were heading for a thumping loss and a 4-1 series reverse at two for three in their second innings on Monday.
Yet come tea on Tuesday's fifth and final day they were 298 for five, needing 166 more runs in a minimum 33 overs to reach their victory target of 464.
No side have made more in the fourth innings to win a Test than the West Indies' 418 for seven against Australia at St John's, Antigua in 2002/03.
Rahul was 142 not out and wicket-keeper Pant, 101 not out -- his maiden Test century coming in just the 20-year-old's third match at this level.
The pair had so far added an unbroken 177 for the sixth wicket.
England still had the new ball to come in the evening session, with Anderson needing one more wicket to become the most successful fast bowler in Test history.
India's recovery revived memories of their extraordinary drawn Test against England at the Oval in 1979 when, set 438 to win, they finished on 429 for eight with outstanding opener Sunil Gavaskar making 221.
India resumed Tuesday on 58 for three.
Rahul was 46 not out and Ajinkya Rahane unbeaten on 10.
All eyes were on Anderson, who needed just one more wicket to break the record of 563 he shared with Australia great Glenn McGrath after rocking India with a double strike late on Monday.
Anderson bowled Tuesday's first over, with the overcast conditions seemingly in his favour.
But Rahul clipped his sixth delivery of the day legside for four to complete a fifty -- the first by an India opening batsman this series.
But with both batsmen going well, a stand of 118 ended when Rahane (37) miscued a sweep off Moeen Ali to Keaton Jennings at midwicket.
India's 120 for four was soon transformed into 121 for five when Ben Stokes struck with his fourth ball of the day.
Test debutant Hanuma Vihari, who made 56 in India's first innings, fell for a duck when, trying to withdraw the bat, he got a thin edge to wicket-keeper Jonny Bairstow.
But Rahul slapped Stokes over extra-cover for six to go into the 90s in extraordinary fashion before his top-edged pull for four off the all-rounder took him to 97.
The 26-year-old Rahul then pulled the paceman through mid-off, another remarkable boundary, to complete his fifth hundred in 29 Tests.
Rahul reached three figures in 118 balls faced, including 16 fours and a six.
At lunch he was 108 not out in a total of 167 for five.
Left-hander Pant, who had hit off-spinner Ali for a one-handed six before lunch, gave Rahul superb support on an increasingly flat pitch as runs flowed freely.
Anderson came back on for a second spell but could not break through.
Pant, who hoisted Adil Rashid for six to go into the 90s, went to his hundred in style when he repeated the shot off the leg-spinner, the ball soaring high over long-on.
He had then faced a mere 117 balls, including 14 fours and three sixes.
England started Tuesday in a commanding position after Alastair Cook, their all-time leading run-scorer, had marked his last Test before international retirement with 147 in a total of 423 for eight declared on Monday that also included captain Joe Root's 125.