The series decider went right down to the last ball after Zimbabwe restricted India to 138 for six and got close to the target before ending at 135 for six. Earlier, Kedar Jadhav bailed India out of trouble with a timely 58 off 42 balls.
Zimbabwe, needing 21 runs off the final over, were in touching distance of a famous series win until Barinder Sran held his nerve for a dramatic finish to the game.
Elton Chigumbura (16) and Timycen Maruma (23 not out) almost pulled off the chase in the final over as Sran conceded a six off the first ball, followed by two fours including one on a no-ball.
A four was needed off the final ball but Chigumbura ended up hitting a low full straight into the hands of Yuzvendra Chahal at cover, triggering wild celebrations by the away side.
The second-string Indian team had to work a lot harder in the T20 series in comparison to three ODIs where they blanked Zimbabwe easily.
The home team made a confident start to the run chase, reaching 40 for one in the first six overs.
After the early departure of Chamu Chibhabha, the experienced duo of Vusi Sibanda (28) and Hamilton Masakadza (15) looked comfortable against the Indian pace attack.
Sibanda came out with an aggressive intent and put pressure on the bowlers especially Dhawal Kulkarni, who was hammered for three consecutive boundaries in his second over.
Sran, who ended with figures of 4/10 on his T20 debut on Monday, was not at his best on Wednesday even though he provided the first breakthrough and held his nerve in the final over.
The hosts looked threatening with Sibanda in the middle but his and Masakadza’s fall in quick succession turned the match in favour of India.
Peter Moor got into the act after Sibanda’s dismissal, punishing a wayward Chahal for three sixes.
The leggie finally removed Moor but the target was very much within reach as Zimbabwe needed 51 off the last 36 balls.
However, two tight overs by Jaspirt Bumrah and Patel made life tougher for the opposition, who had to depend on Malcolm Waller and Chigumbura.
Earlier, Jadhav struck his maiden Twenty20 International half-century as India overcame a poor start to post a competitive total.
India, batting first for the first time on the tour, had a tough time against the Zimbabwe bowlers on a pitch where scoring freely proved to be difficult, as it was the case earlier in the series.
Opener Lokesh Rahul was put under pressure in the very first over as pacer Tendai Chatara bowled a rare maiden in this format.
Mandeep, who scored 31 and 52 not out in the last two games, was the first one to go back. He tried to cut a short ball over cover but mistimed it to be caught just outside the circle.
Jadhav and Ambati Rayudu (20) were left to do the repair job and they took the innings forward with a 49-run stand off as many balls.
Jadhav held his end to reach his maiden half century and his innings was laced with seven fours and a six.
Captain M S Dhoni, who failed to get his team over the line in opening T20, was bowled by Donald Tiripano after making 9 off 14 balls.
By playing this game, he equalled Ricky Ponting’s record of captaining in 324 international matches to be at the top of the list alongside the Australian.
Zimbabwe: Chibhabha c Chahal b Sran 5 Masakadza lbw b Patel 15 Sibanda lbw b Kulkarni 28 Moor c Mandeep Singh b Chahal 26 Waller c Bumrah b Kulkarni 10 Chigumbura c Chahal b Sran 16 Maruma not out 23 Extras: (LB-8, W-3, NB-1) 12 Total: (6 wickets in 20 overs) 135 Fall of wickets: 1-17, 2-57, 3-60, 4-86, 5-104, 6-135 Bowling: Sran 4-1-31-2, Kulkarni 4-0-23-2, Bumrah 4-0-23-0, Patel 4-0-18-1, Chahal 4-0-32-1.
India: Lokesh Rahul b Madziva 22 Mandeep Singh c Maruma b Tiripano 4 Ambati Rayudu c Chigumbura b Cremer 20 Manish Pandey run out (Chigumbura) 0 Kedar Jadhav c Chigumbura b Tiripano 58 MS Dhoni b Tiripano 9 Axar Patel not out 20 Dhawal Kulkarni not out 1 Extras: (lb 1, w 3) 4 Total: (in 20 overs) 138/6 Fall of wickets: 1-20 (Mandeep Singh, 3.1 overs), 2-27 (Rahul, 4.3), 3-27 (Pandey, 4.4), 4-76 (Rayudu, 12.5), 5-93 (Dhoni, 16.2), 6-122 (Jadhav, 18.6) Bowling: Tendai Chatara 4-1-34-0 Donald Tiripano 4-0-20-3 Neville Madziva 4-0-32-1 Chamu Chibhabha 4-0-19-0 Graeme Cremer 4-0-32-1