The Kafu River is located in the western part of Uganda. It starts from a swamp approximately 12 kilometres (7.5 mi), 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 kilometres (5.0 mi), upstream of the town of Masindi Port, in Masindi District, also in Western Uganda.
The swamp, out of which River Kafu arises, is also tranversed 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, River Kafu is an altitude of approximately 1,100 metres (3,600 ft). At its point of entry into River Nile, the altitude is approximately 1,040 metres (3,410 ft).
The length of River Kafu is approximately 180 kilometres (110 mi), from source to end.