The 27-year-old Rajasthan seamer bagged 6 wickets for just 7 runs, including a hat-trick, from 3.2 overs to return with the best ever figures in the history of T20 internationals, surpassing the previous record held by Sri Lanka's Ajantha Mendis who scalped 6/8 against Zimbabwe in 2012.
Chasing a target of 175, Bangladesh were dealt an early blow with Chahar dismissing opener Liton Das and Soumya Sarkar off consecutive deliveries in the third over.
However, a 98-run third wicket stand between Mohammad Naim and Mohammad Mithun put Bangladesh in cruise mode. Twenty-year-old Naim, who made his international debut in the first match of the series, smashed 81 off 48 balls, his innings laced with 10 fours and two sixes.
It was Chahar who provided the much-needed breakthrough as Mithun (27) holed out to K.L. Rahul at long off in the 13th over against the run of play.
Shivam Dube then dismissed Bangladesh stumper and hero of the first match, Mushfiqur Rahim, for a duck as the momentum veered back India's way.
Dube then got the big wicket of Naim with an inch-perfect yorker. Naim tried to play it to point but the ball tailed away late to take his off stump. Dube then dismissed Afif Hossain with a catch off his own bowling while Yuzvendra Chahal castled Bangladesh skipper Mahmudullah to leave the visitors reeling at 130/7 in the 17th over.
It was all Chahar show after that. He first got the wicket of Shafiul Islam off the last delivery of the 18th over and then returned to dismiss Mustafizur Rahman and Aminul Islam off the first two balls of the 20th over to complete his hat-trick, the first by a male Indian cricketer in T20 internationals.
Earlier, half-centuries by Shreyas Iyer (62) and K.L. Rahul (52) helped India post a challenging total of 174/5 in the allotted 20 overs.
Put into bat, India were dealt an early blow when captain Rohit Sharma fell to Shafiul Islam in the second over. Shikhar Dhawan and Rahul got India into the 30s in the next two overs before Dhawan became Shafiul's second victim in the sixth over as he mishit a big shot and holed out to Bangladesh skipper Mahmudullah at midwicket.
Rahul and Iyer then saw out the next two overs before starting to accelerate in the 10th over. The pair put up 59 runs for the third wicket with Rahul hitting a much-needed half-century. Al-Amin Hossain finally dismissed Rahul off the first ball of the 13th over.
Shreyas and Rishabh Pant saw out the next two overs with the former hitting a six off Soumya Sarkar in the 14th over. He then went on a rampage in the next over, smashing Afif Hossain for three consecutive sixes. He brought up his maiden T20I fifty in the same over.
Sarkar came back in the 17th over and took out both Shreyas and Pant as the momentum shifted back to the visitors. Manish Pandey then took India to 174/5 by hitting an unbeaten 22 off 13 balls.
Manish Pandey played his shots late in the innings to take India to 174/5.
Brief scores: India 174/5 in 20 overs (Shreyas Iyer 62, K.L. Rahul 52; Soumya Sarkar 2/29) beat Bangladesh 144 all out in 19.2 overs (Mohammad Naim 81, Mohammad Mithun 27; Deepak Chahar 6/7) by 30 runs.
( With inputs from IANS )