The Kafu River is located in the western part of Uganda, It starts from a swamp approximately 12 kilometers northeast of the village of Kitoma, in Kibaale District, western Uganda. It flows eastwards at first, then it turns north, to empty into the Victoria Nile, approximately 8 kilometers upstream of the town of Masindi port, in Masindi district, also in western Uganda.

The swamp, out of which River Kafu arises, is also traversed by another river system called River Nkusi. River Nkusi however, arises elsewhere and passes through the said swamp and flows westwards to empty into Lake Albert, along the international border between Uganda and the Democratic Republic of the Congo. At its source, Kafu River is an altitude of approximately 1,100 meters. At its point of entry into River Nile, the altitude is approximately 180 kilometers.