The build-up to Sunday's match had been dominated by reports that former Chelsea manager Avram Grant is set to take the Ghana job.
However, if that is the case then Grant will not have been impressed with the performance of the four-time AFCON champions, who were kept at bay by a well organised Uganda side.
Needing a win on Saturday to secure a spot at the 2015 tournament, which is now being held in Equatorial Guinea instead of Morocco, Ghana instead fell behind to an early header from Savio Kabugo at the Mandela National Stadium in Kampala.
And, despite enjoying plenty of possession, Ghana could not produce the required turnaround, Milutin Sredojevic's men standing firm to claim all three points.
Uganda have now taken seven points from their five Group E games and are one point behind Ghana, keeping their hopes of reaching the finals very much intact ahead of the final round of qualifiers next Wednesday.
Ghana host Togo in their last group game while Uganda face Guinea.
Kabugo opened the scoring as he nodded in at the back post from a corner, with Ghana defender John Boye slipping as he attempted to clear the header.
Uganda striker Yunus Sentamu was forced off midway through the first half through injury, but they had few difficulties at the other end of the pitch as Ghana struggled to create anything going forward.
It took until the second half for Ghana to produce an opportunity of any real note, striker Abdul Majeed Waris racing down the left flank only to see his shot comfortably saved Dennis Onyango, who then made a strong stop to prevent David Accam from levelling the scores with a close-range volley.
Onyango's performance in between the posts preserved a deserved victory for Uganda, who held on to boost their chances of qualifying for the AFCON finals for the first time since losing the 1978 final to Ghana.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.