Ethiopia were favourites to go all the way to the final having reached the play-off stage in the 2014 World Cup qualifying competition.
But the Walya Antelopes, who had more ball possession in the first half were not able to create scoring chances.
Instead it was Sudanese, who played a more cautious game and were gifted a 23rd minute lead with an own goal by Salahadin Bargecho who turned the ball into his own net.
Sudan stretched their lead in the 69th minute when their talisman Salah Ibrahim scored from close range to take his goal tally to four in the tournament.
Sudan will play Zambia in the last four, after the former African champions overcame Burundi 4-3 in penalties, in a dull game that ended 0-0 after 90 minutes.
It is first time for Zambia, the reigning COSAFA holders, who are competing as guests, and without two key players, including skipper Bronson Chama for the game, to reach the CECAFA cup semi-finals after three attempts.
The last time they reached the semis was in 2006.