Hosts Kenya earned a 1-0 over Tanzania on Monday to secure a place in the semi-finals of the Cecafa Senior Challenge.
Vincent Oburu scored the goal that ensured Kenya finish top of Group A ahead of Zanzibar, who also progress despite a loss to guest side Libya on Tuesday.
Alharaish Zakaria was on target for Libya to give them hope of progressing but the win for Kenya saw them finish third.
In the final Group B game South Sudan earned their first point of the tournament with a goalless draw against Burundi.
The point was enough for Burundi to join champions Uganda in the last four.
The results mean that Kenya's new coach Paul Put will lead his side against Burundi in Thursday's semi-finals while On Friday, Uganda face a tricky match with Zanzibar.
Uganda coach Moses Basena has admitted he must change his side's approach to their next game.
The task for Basena's side has been made tougher as defenders Isaac Muleme and Timothy Awany are suspended for the match after being sent off during Sunday's 1-1 with Ethiopia.
Rwanda, Uganda and Libya have all been using the tournament in Kenya to prepare for next month's African Nations Championship, the tournament for locally-based players only, in Morocco:
Final Group A table at Cecafa Senior Challenge:
Final Group B table at Cecafa Senior Challenge: