Khan, at the break, had figures of two wickets for 40 runs in nine overs and Singh one for 32 in six with key batsmen Michael Vaughan and Kevin Pietersen two of the men out after a wet outfield had prevented play before lunch.
But Alastair Cook (35 not out) and Paul Collingwood (25 not out) staunched the flow of wickets with an unbroken stand of 46 after England had sunk to 47 for three.
It was a good toss for India to win, on a green-tinged pitch after the ground had been saturated by rain for several days.
India captain Rahul Dravid's decision to field first was rewarded as early as the third over when Andrew Strauss drove loosely, without moving his feet, at Khan's outswinger and was caught at first slip by Sachin Tendulkar.
That left England four for one after Strauss had got off the mark with an off-driven boundary against Khan.
Strauss's fellow left-handed opener Cook later cover-drove fast bowler Shanthakumaran Sreesanth for four before uncovincingly edging Khan short of the slip cordon.
Khan, four balls after hitting Vaughan on the helmet and two after the batsman turned him off his legs for four, dismissed the England captain.
Bowling from around the wicket, he lured Vaughan, on nine, into fending outside off-stump and Tendulkar again made no mistake with the slip catch with the 28-year-old Khan having taken his 150th wicket in his 49th Test.
Pietersen gave England fans something to cheer when he drove Singh down the ground for four.
But Singh produced a fine delivery, swinging back into the right-hander and pitching on the line of the stumps to have Pietersen, who made a hundred in the second innings of the drawn first Test at Lord's, lbw for 13.
England were in trouble at 47 for three in the 15th over and Cook and Collingwood were each lucky to survive several testing Khan deliveries.
Both sides were unchanged from the teams that played at Lord's, in the first of this three-Test series, where India clung on with one wicket standing before bad light and rain ended the match.
Brief Scores (at tea, D-1):
England 94 for 3 ( Cook 35 n o, Collingwood 25 n o; Zaheer 2 for 40, R P Singh 1 for 32) Vs India