The lanky paceman picked up three wickets for 22 runs from his four overs as England restricted India to 120 for nine wickets after captain Mahendra Singh Dhoni won the toss and opted to bat first.
Kevin Pietersen, dropped on one, hit five boundaries and three sixes in his 39-ball 53 and added 60 for the third wicket with Samit Patel (21) to take England closer to the target.
Twenty20 world champions England, who were blanked 5-0 in the preceding one-day international series, reached their target with eight deliveries to spare for their only win on the tour.
England seamer Tim Bresnan and medium pacer Ravi Bopara picked up two wickets apiece as India's batsmen struggled on a slow and low wicket at Eden Gardens.
India lost openers Ajinkya Rahane and Robin Uthappa in the first and second over respectively, caught superbly by wicketkeeper Craig Kieswetter, and struggled for momentum throughout their innings.
Finn returned in his second spell to dismiss top scorer Suresh Raina (39) and Ravindra Jadeja (nought) off successive deliveries to further hurt India's chances of posting a challenging total.
Dhoni (21) and Ravichandran Ashwin scored 25 off the last two overs to get India past the 100-run mark.