The trio of Ravichandran Ashwin (3/81), Ravindra Jadeja (2/62) and Jayant Yadav (2/21) shared bulk of the spoils to dismiss the visitors for 236 in their second innings.
Comeback man Parthiv Patel then made a mockery of the target of 103 runs, smashing his way to an unbeaten 67 off 53 balls studded with 11 fours and a six.
Parthiv and Cheteshwar Pujara (25) added 81 runs in only 15.2 overs in what turned out to be an easy chase completed in 20.2 overs.
Parthiv was in a mood to display his 'T20 skills' as he took on the pacers and spinners alike with minimum fuss. The 50 came off 39 balls with eight boundaries and a six. His prowess at the top of the order will give Kohli and coach Anil Kumble another option for opening slot.
More From This Section
Earlier, credit should be given to young Haseeb Hameed for his gritty unbeaten 59 off 156 balls coming in at No 8 due to a finger injury that helped England cross 200-run mark. He hit six fours and a six off Ashwin to complete his second Test half-century. It was because of the teenager that India had to chase a 100 plus target.
But Ashwin as usual put up a lion-hearted performance once again scoring a 72 and bagging four wickets. Equally creditable was the all-round effort of the other two specialist spinners -- Jadeja (90 run and 4 wickets) and Jayant (55 runs and 4 wickets).
Having polished off the top-order save Joe Root, the question on fourth day was not how but when will India finish the match.
The only wicket that would have seriously bothered them was that of Joe Root. But post Root, Hameed did put up a fight but it was always for a losing cause.
Root played 179 balls hitting six fours in the process.
Root got an able ally in young Hameed as the duo added 45 runs in 119 balls for the seventh wicket stand. It was this pair that erased the 134 run deficit.
Once Jadeja removed the gutsy Root minutes before lunch, the writing was there on the wall.
This was the second lowest total India defended in a T20 International in the country.
Suresh Raina and Yuvraj Singh got out for single digits - to spinners Adil Rashid and Moeen Ali - leaving the home team at a difficult 69 for three just past the half way mark. Raina slogged and was caught at long on while Yuvraj missed a sweep and was caught plumb in front of the stumps.
Rahul's innings was the saving grace in this period as he coolly got about getting the runs and also used his feet well against the spinners.
Manish Pandey, who came in at no. 5 instead of Dhoni, had a lucky escape when a ball from Stokes hit the stumps as he went for a slog but failed to dislodge the bails.
Pandey survived on 10 and India's score after 15 overs was 108 for three as the English bowlers cleverly mixed it up.
Rahul was finally dismissed in the 18th over while trying to lift Jordan over the mid-wicket region but could not clear the rope and was caught by Ben Stokes to bring Dhoni to the crease with only 16 balls left in the innings.
The former captain could not do much in the limited overs and got out to the last ball of the innings. Hardik Pandya and Amit Mishra, included in the XI in place of Parvez Rasool, were both run out for ducks in the same over. Jordan finished with 3 for 22.
India started the defense of their small total in encouraging fashion when Nehra packed off the openers Jason Roy and Sam Billings off successive balls in the fourth over.
Billings was the first to go as he charged out and top-edged a pull to long-leg fielder Jasprit Bumrah for 12. With the batsmen having crossed over, Roy was on strike to the next ball that he spooned into the hands of mid-on off.
The two wickets fell at 22 to bring together senior batsmen Root and Morgan and they did the repair work like they had done in the series opener at Kanpur.
It was a big blow for England and also enabled Mishra to reach the landmark 200 wickets in T20Is, the second Indian bowler to do so after Ravichandran Ashwin.
England then got a fright off the next ball when Mishra foxed another left-hander Stokes, only to have the ball declared a no-ball via the TV replay.
Reprieved by Mishra's overstepping, Stokes muscled his way by hoisting Suresh Raina and Chahal for huge sixes in the 14th and 15th overs at the end of which the visitors needed 41 runs off 30 balls.