The African nation limited the Scots to 132-6 with tidy bowling led by Tendai Chatara (2-14) and Richard Ngarava (2-28) before rattling through the run chase with nine balls to spare.
Zimbabwe had been part of five previous World Cups but never gone beyond the first round before.
12 teams, 1 winner 🏆The Super 12 phase begins tomorrow at the #T20WorldCup after Zimbabwe and Ireland make it as… https://t.co/VOTVAlKXY9
— T20 World Cup (@T20WorldCup) 1666351706000
Zimbabwe and Ireland complete the teams in the Super 12 phase that begins tomorrow! 🙌🏻Check the updated groups he… https://t.co/5MjCic8rfO
— T20 World Cup (@T20WorldCup) 1666351396000
But they have been improving since coach Dave Houghton, Zimbabwe’s first Test captain back in 1992, came into the fold for his second stint in July.
They beat Ireland to open their latest World Cup campaign then lost to the West Indies before booking their spot against the Scots.
Scotland skipper Richie Berrington won the toss and opted to bat, but they were on the back foot immediately, losing Michael Jones, who struck a masterly 86 against Ireland, in the first over.
Sikandar Raza took a superb over-the-shoulder catch off Chatara’s bowling to dismiss him.
Another spectacular diving catch was held by Wessly Madhevere at midwicket to remove Matthew Cross for one four overs later, leaving Scotland at 24-2 in the fifth over.
Opener George Munsey remained calm at the other end and built a 40-run partnership with Berrington before the skipper holed out to Milton Shumba in the deep off Raza for 13.
The run rate slowed in the face of some economical bowling as Munsey reached a ninth T20 half-century with a single, only to fall five balls later for 54, caught by Shumba off Ngarava, before Calum MacLeod (25) and Michael Leask (12) added crucial late runs.
Zimbabwe started the chase with a four but then lost two wickets in eight balls.
After smacking the boundary, Regis Chakabva was trapped lbw by Brad Wheal and then Madhevere departed without scoring, dragging a Josh Davey delivery onto his stumps.
Sean Williams put on 35 in a partnership with Ervine, who missed their last match with a “mild asthmatic attack”, but the stand was broken when Michael Leask came into the attack and he was caught by Wheal for seven.
It left Zimbabwe on 55-3 after 10 overs.
But Ervine kept his focus to notch a ninth T20 half-century, happy to play second fiddle to the dangerous Raza (40 off 23) who swung the bat before he was caught behind by Cross off Davey.
When Ervine was out, chipping down the ground, they needed 14 off the last three overs, with Chris Greaves and Davey accomplishing the feat.