George Chigova, who played in front of a familiar crowed in Polokwane, saved Lesotho's first two penalties to ensure victory for the Warriors.
After a frantic start to the first half which saw Lesotho launch an early attack, Zimbabwe took control of the match and put their opponents under pressure.
They did create goalscoring opportunities through Khama Billiat, but they couldn't get passed the Lesotho defence for the better part of the first half.
The Warriors' best chance of the opening half came on the stroke of half-time when Amidu latched onto a loose ball inside the Lesotho box, but goalkeeper Mputhi did well to keep his side in the game as both nations went into the half-time break locked at 0-0.
Chances were few and far between after the restart until Masoabi Nkoto directed his header off target midway through the second half.
Attacker Philana Kadewere was guilty of missing what would have been Zimbabwe's winning goal moments later as he failed to hit the target from a better position.
The match ended goalless in regulation time, and Chigova's heroics earned Zimbabwe a 3-1 penalty shoot-out win by stopping two penalties.
In the other match, Zambia narrowly beat Madagascar to book their spot in this year's Cosafa Cup final.
Madagascar have had a good run in the tournament, and claimed big scalped, including that of South Africa in the quarter-finals.
It took Chipolopolo 39 minutes to breach the Malagasy defence. Lazarous Kambole netted with a sublime finish, much to the delight of the Zambian technical team.
Zambia should have doubled their lead three minutes before the interval, Kelvin Mubanga fired wide from a promising a position.
Malagasy didn't not sit back after the restart, and they were unfortunate to see Nasandratra's glancing header hit the wrong side of Nsabata's post.
The 2012 Afcon champions squandered a good number of goalscoring in the final 20 minutes, but even then Madagascar stood firm at the back and protected their goalkeeper.
Malagasy would finish the match with 10 men when Toky Adriamanjato was given his marching orders five minutes from time.
However, Kambole's goal proved the difference as Zambia held on to their lead to book to their spot in the final.
They will now take on Zimbabwe in the final, while Madagascar will face Lesotho in the 3rd/4th play-off match this weekend.