In the first match, Lesotho took on Uganda, with both sides looking to become the first to book a spot in the semi-finals.
Both teams cancelled each other out in regulation time, and the winners had to be determined on penalties at the Princess Magogo Stadium.
Uganda, who are using this tournament to prepare for the Africa Cup of Nations (Afcon) tournament which is set to get underway in Egypt later this month, had a slow start to the game as Lesotho took the game to them from the onset.
Goalkeeper Charles Lukwago had to be at his best to deny Kenneth Makepe what would have been Lesotho's opening goal inside the opening three minutes.
Uganda had Lesotho against the ropes midway through the first half, but they couldn't hurt them where it mattered most as the half ended in a goalless draw.
Lesotho started the second half brighter of the two sides, forcing the Ugandans to defend deep as they showed no respect towards their opponents.
It took less than 10 minutes for substitute Dan Serunkuma to test Lesotho goalkeeper Samuel Khetsekile into a decent.
Khetsekile did well again to keep the scoreline at 0-0 as he parried the ball away from danger in the 68th minute.
Motebang Sera thought he had fired his team ahead with 12 minutes to go, but he was ruled offside and both sides held on for the outcome of the game to be determined on penalties.
Khetsekile stopped two penalties in the shoot-out while Lesotho scored all their penalties to seal a 3-2 win and their third consecutive semi-final of the regional tournament.
In the other match, Zimbabwe eased past Comoros, thanks to goals from Khama Billiat and Evans Rusike who both scored on the day.
It took six minutes for Rusike to break the deadlock after a well-timed cross from Ovidy Karuru.
Zimbabwe never really had to worry about Comoros as they dominated the ball possession and played more like a team ready to compete at this year's Afcon finals.
Billiat came close to doubling Zimbabwe's lead in the 16th minute but his attempt went wide with the Comoros defenders in sixes and sevens.
The deadlock was broken after six minutes when SuperSport United's Rusike turned home Ovidy Karuru’s cross from the right side.
Billiat wasn't to be denied in the 36th minute as he fired home a volleyed attempt into the bottom corner to make it 2-0 to the Warriors of Zimbabwe.
It was the same story soon after the restart as Zimbabwe nearly made it 3-0, but fortunately for Comoros, Rusike fired his shot wide.
Comoros did their most in the closing stages the game as they tried to take shots from range in an attempt to score a consolation goal, but they couldn't breach the Zimbabwean defence.
The crowd cheered as Knowledge Musona entered the pitch with 13 minutes to go, probably to get some minutes under his belt as the game was already done and dusted.