At lunch, England in their second innings were 161 for five - a lead of 258 - with star batsman Kevin Pietersen holding firm on 62 not out in the opening match of a three-Test series.
But 21-year-old left-arm quick Singh, in only his fifth Test and first outside the sub-continent, had dismissed several other top-order batsmen during a spell of three wickets for 10 runs in 15 balls.
Wicket-keeper Matt Prior was 10 not out.
Though Singh, who at lunch had figures of three for 36 in 12 overs, bowled well, it was still uncertain as to how India's batting line-up which, apart from opener Wasim Jaffer with 58, failed in the first innings when bowled out for 201 would fare second time around.
The hosts resumed on 77 for two after England swing bowler James Anderson, in an attack missing the injured pace trio of Matthew Hoggard, Stephen Harmison and Andrew Flintoff, had taken a Test-best five for 42 and left-armer Ryan Sidebottom four for 65.
Michael Vaughan, the England captain, was 16 not out with Pietersen unbeaten on 15.
Fast bowler Shanthakumaran Sreesanth's lively three-over opening spell cost just six runs and included a close lbw appeal against Pietersen, then on 16.
Pietersen, however, hit back by square cutting and driving Zaheer Khan, India's other left-arm quick, through extra cover for successive fours.
First change Singh went round the wicket to Vaughan who edged a drive for four to bring up England's hundred.
But next ball Vaughan inside-edged a full-length delivery angling into him as he attempted a drive and played on for 30, ending a third-wicket stand of 59 with Pietersen.
It was not long before Singh ensured 102 for three became 114 for four.
Paul Collingwood, in on a pair, got off the mark with a streaky four to third man through the slips. But two deliveries later he took his eye off a well-directed short ball from Singh and gloved a simple catch to VVS Laxman at second slip.
Ian Bell also fell cheaply when, a ball after hooking Singh for four, he played on trying to repeat the shot.
Pietersen, whose off-driven four against Singh was one of his best shots, completed an 88-ball fifty with seven boundaries.