At lunch India were 207 for five, still needing a further 173 runs to reach their imposing victory target of 380 and with just the tail left.
Laxman, who produced the occasional gem of a shot, was 29 not out and Dhoni 28 not out after they had come together following the loss of two quick wickets that left India struggling at 145 for five.
If India won they would achieve the fourth highest fourth innings Test victory total in history and break the equivalent Lord's record of 344 for one set by the West Indies in 1984.
Forecast rain, which threatened to deny both sides the chance to go 1-0 up in this three-Test series, had so far held off.
India resumed on 137 for three. Opener Dinesh Karthik was 56 not out and Sourav Ganguly, dropped on 12, unbeaten on 36.
An overcast sky made conditions helpful for swing bowling and, in the fourth over of the day, Ryan Sidebottom struck when he had fellow left-hander Ganguly lbw for 40.
James Anderson, recalled for his first home Test since 2004, and Sidebottom had shared nine wickets between them as India were bowled out for 201 in their first innings, the duo helping their side make light of the absence of injured quicks Stephen Harmison, Matthew Hoggard and Andrew Flintoff, in what was England's best pace bowling display since they won the Ashes in 2005.
Anderson, who in that first innings had taken a Test-best five for 42, settled into an accurate line and was rewarded when Karthik, who'd otherwise cover-driven well during his innings, didn't middle one and edged to second slip Paul Collingwood.
Karthik, who'd batted for three-and-a-half hours was out for 60 and now India's hopes of victory appeared to be fading.
Not that Laxman and Dhoni batted as if trying to save the game.
They both chanced their arms and Dhoni, on 14, was fortunate when an edged forcing shot off left-arm spinner Monty Panesar flew past Collingwood at slip.
He then survived a Panesar lbw appeal on 21 and, on the same score, edged Anderson just short of Andrew Strauss at first slip.
Kevin Pietersen had put England in a strong position by scoring 134 in their second innings 282.
But India stayed in the game thanks to another fine example in this match of swing bowling with 21-year-old left-armer Rudra Pratap Singh, in his first Test outside the sub-continent and only fifth in all, taking a maiden five-wicket haul at this level of five for 59.
However, before Sunday's stumps, England captured two key wickets when debutant seamer Chris Tremlett had India captain Rahul Dravid lbw for nine and Panesar, in a repeat of his first Test wicket on debut in Nagpur last year, had his boyhood hero Sachin Tendulkar lbw, again for 16.
Brief Scores (at lunch, D-5):
England 298 and 282 Vs India 201and 207 for 5 (Karthik 60, Ganguly 40, Laxman 29 n o, Dhoni 28 n o; Anderson 2 for 66, Sidebottom 1 for 33, Panesar 1 for 50).