Cape Verde, who last appeared at the finals in 2013, had star man Garry Rodrigues leading their attack while former Bidvest Wits striker Getaneh Kebede lead Ethiopia's attack.
Ethiopia endured an unwanted start ten minutes in when the Video Assistant Referee (VAR) changed Yared Belay's yellow card to red for a foul on Julio Tavares, who was deemed to be through on goal.
As expected, a substitution from Ethiopia followed soon after with Mignot Dada introduced and Mohammed Mesud sacrificed in the process.
The Blue Sharks looked to use the one-man advantage to their benefit near the half-hour mark and almost succeeded when a snap ball into the area from Rodrigues almost forced an own-goal.
Rodrigues was at the heart of another move minutes later when his ball from the right-side led to a curling shot outside the area from Steven Fortes that Teklemariam Shanko parried away.
Cape Verde made their dominance count in the final minute of the first half when Tavares pounced on a cutback from Rodrigues to head in from close-range.
The Blue Sharks maintained their bright spell moments in the second stanza and edged to a second from efforts by Nuno Borges and Rodrigues amongst others.
Ethiopia continued to battle away despite playing with one man less and worried their counterparts through shots in and around the final third following a quiet and frustrating spell.
It was at this point that Cape Verde decided to make their first substitution, which saw Rodrigues withdrawn for Willy Semedo before Tavares forced Shanko into a fine save.
Ethiopia kept the balance of play intact towards full-time, but the Blue Sharks still enjoyed the better chances and with that held on to a narrow victory.