It was the record ninth-wicket stand of 70 runs between Brad Evans (33) and Richard Ngarava (32) that took Zimbabwe close to the 200-run mark.
Making a comeback to international cricket after a good six months, it didn't take long for Chahar to find his rhythm on a Harare Sports Club track that offered steep bounce. The balmy morning conditions aided quality swing bowling.
Chahar, who bowled unchanged for seven overs with first spell figures of 3/27, was well supported by Mohammed Siraj (1/36), who worked up brisk pace while bowling the ideal 'Test match length'.
Prasidh Krishna (3/50) and Axar Patel (3/24) also got their share of middle and lower-order victims while Kuldeep Yadav (0/36) was restrictive despite going wicket-less.
None of the Zimbabwe batters looked comfortable during those opening overs as Chahar got a lot of deliveries to dart back late while some straightened after pitching.
Opener Innocent Kaia (4 off 20 balls) saw a ball climb up from back of length and Sanju Samson caught it on second attempt.
His left-handed partner Tadiwanashe Marumani (8 off 22 balls) drove a fuller-length delivery that swung late and Samson had an easy catch.
Chahar's best delivery was the one that got Wessly Medhevere (5) which seemed like drifting on pads but swung away late squaring up the right-hander, who was found plumb in-front.
Once Siraj had Sean Williams caught at first slip by Shikhar Dhawan, there wasn't much resistance left in the Zimbabwean batting although skipper Regis Chakabva (35 off 51 balls) tried to put up a brief fight before Axar castled him.