Stirling hit nine boundaries and a six and with captain William Porterfield (31) added 80 runs for the opening wicket but Panyangara’s double strike in the 15th over brought Zimbabwe back in the game.
Panyangara (4-37), who was smashed for 18 in his first over by Stirling, also dismissed the dangerous Kevin O’Brien (17) in the 18th over and returned to bowl the final over of the innings with Ireland needing four runs for victory.
In the final over, Ireland lost Ed Joyce (20) to Panyangara and Max Sorensen to a run out off successive balls but managed to scamper for a bye off the last delivery for the winning run with wicketkeeper Brendan Taylor missing a run out.
Earlier, captain Taylor (59) hit six fours and two sixes and anchored Zimbabwe’s batting as his team posted 163 for five in their twenty overs after being put in to bat.
Elton Chigumbura hit 22 off 13 balls with two sixes in the last over to take Zimbabwe to a competitive total after Irish spinners George Dockrell (2-18) and Andy McBrine (2-26) restricted them in the middle overs.
In the day’s late match, Stephan Myburgh (55) hit seven fours and two sixes to register his maiden T20 international fifty and give Netherlands a comfortable six-wicket victory against the United Arab Emirates.
Tom Cooper, who also picked up two wickets with the ball, remained unbeaten on 34 off 26 balls as Netherlands reached their target of 152 with seven balls to spare.
Paceman Ahsan Malik picked up three wickets for 16 runs as the UAE were bundled out for 151 after opting to bat first.
(Writing by Sudipto Ganguly; editing by Alan Baldwin)