World champions India bowled England out for a modest 237 in good batting conditions in the second one-day international at the Ferozeshah Kotla ground in New Delhi on Monday.
Kevin Pietersen's 46 was the top score as wickets tumbled at regular intervals after England captain Alastair Cook won the toss and elected to bat in the day-night match.
Vinay Kumar returned with his best one-day figures of four for 30, and fellow-seamer Umesh Yadav picked up two wickets in an impressive display by the under-strength hosts.
India, missing seven World Cup stars due to injury or poor form, will chase a target of less than five runs an over for a 2-0 lead in the five-match series.
The hosts had won the first game in Hyderabad by 126 runs last Friday.
England made a disastrous start, losing openers Cook and Craig Kieswetter before a run had been scored.
Cook slashed the fifth ball from Praveen Kumar to point, while Kieswetter edged Vinay to Virat Kohli at slip in the second over.
The shackles were broken when Praveen conceded 17 runs in his third over as Jonathan Trott smashed three consecutive fours and Pietersen also helped himself to a boundary.
Trott made a fluent 34 with seven fours when he was caught behind off Vinay to reduce England to 48-3 by the 10th over.
Ravi Bopara helped Pietersen add 73 for the fourth wicket before India hit back by removing both batsmen in the space of four deliveries.
Bopara was leg-before to off-spinner Ravichandran Ashwin for 36 and Pietersen was caught behind chasing a wide ball from Yadav.
Samit Patel and Jonathan Bairstow carried the total past the 200-run mark from a shaky 121-5, adding 86 for the sixth wicket before both fell in quick succession.
Patel (42) was trapped leg-before by Yadav and Bairstow holed out in the deep off Ravindra Jadeja after making 35.