Geoffrey Massa, fresh from scoring a brace for University of Pretoria in their 3-0 over Ajax Cape Town, netted one and created the second for AS Vita striker Yunus Sentamu. Farouq Miya grabbed the third.
Massa's goal was his fifth in his last five home games, while Ssentamu was netting for the first time since introducing himself to the continent in the January/February Chan in South Africa.
The game also saw the return of silky midfielder Mike Sserumaga, whose last involvement with the Cranes was a bench appearance in the shootout defeat to Zambia in October of 2012.
The friendly was played under the Protect Your Goal campaign against the spread of HIV/Aids and was attended by Ugandan President Yoweri Museveni.
Sserumaga, who will have forced his way into the squad to face Ghana after his impressive display here, first whipped in a free kick from the right.
Massa connected with his head but Ssentamu's finish was ruled out for offside.
Ethiopia attacked on the counter, dangerman Yusuf Saleh beating Richard Kasagga before crossing.
Dawa Hotessa met the cross, unmarked, but Robert Odongkara, who was replaced by Salim Jamal for his debut after half time, saved expertly.
Cranes hit back, Sserumaga advancing into the area and committing his man, who took him out for the referee to point to the penalty spot.
Massa took it but his penalty was saved by the Ethiopian keeper. But Massa was on hand to score from the resultant corner on the stroke of half time.
The striker created the second just two minutes into the second half, brilliantly lifting the ball over the static visitors' backline for the unmarked Ssentamu to score his first goal for the senior Cranes.
Miya completed the rout on 55 minutes, capitalising on a searching ball from the middle to make it a resounding 3-0 victory.
Cranes coach Micho Sredojevic made five substitutions; Jamal, Habib Kavuma, Robert Ssentongo, Julius Ntambi and Keziron Kizito all having second-half outings.