Topley took 6-24, England’s best figures in a men’s one-day international, as the hosts effectively defended 246.
The 28-year-old dismissed openers, Rohit Sharma for a duck and Shikhar Dhawan for nine, almost ending his career.
India was 31-4 when Rishabh Pant caught a Brydon Carse full toss at midfield for nought, and Virat Kohli edged David Willey behind for 16.
When Topley returned to bowl Suryakumar through the inside edge, and Moeen Ali caught Hardik at deep-cover, India’s hopes were completely dashed. Suryakumar Yadav had stopped England’s momentum with 27, and Hardik Pandya had threatened with 29.
Paul Collingwood’s previous best ODI stats for England, 6-31, were surpassed by Topley’s addition of the wickets of Mohammed Shami, Yuzvendra Chahal, and last man Prasidh Krishna. India was dismissed for 146 runs.
Moeen’s 49 helped England, after falling to 102-5, get to 246 all out in 49 overs.
After Yuzvendra Chahal, a leg-spinner destroyed England’s formidable top order with 4-47, Willey, who was critically dropped on one, also scored 41.
The outcome guarantees that England will bounce back from their devastating loss in the first ODI when they return to Lord’s three years to the day after winning the World Cup.
On Sunday, the decisive game will be played at Emirates Old Trafford.