Uganda maintains no passenger rail service. The meter-gauge railway built during British colonial rule between 1896 and 1931 connected Kampala to Tororo on the Kenyan border and extended west to Kasese, but operations ceased in the 1990s. The line from Kampala to Malaba on the Kenya border carried sporadic freight until 2017. In 2022, construction began on a standard-gauge railway connecting Kampala to Malaba as part of the East African Railway Master Plan, with completion projected beyond 2025, but passenger services on this new line remain prospective only.
Road transport dominates all movement within Uganda. The national road network totals approximately 20,000 kilometers of classified roads, of which roughly 4,000 kilometers carry tarmac surfacing. The Uganda National Roads Authority maintains trunk roads between major cities, while the Ministry of Works manages district and community access roads. Highway conditions vary sharply by route and season. The Kampala-Entebbe Expressway, a 51-kilometer toll road opened in 2018, represents the country's sole controlled-access highway and connects the capital to Entebbe International Airport in approximately 45 minutes under normal conditions. Other primary routes include the Northern Bypass around Kampala, completed in segments between 2009 and 2018, and the paved highway from Kampala north through Gulu to the South Sudan border at Nimule.
Major intercity routes receive regular maintenance, but secondary roads deteriorate rapidly during the two rainy seasons from March to May and September to November. Laterite surfaces turn to mud channels when saturated, particularly in western districts approaching the Rwenzori Mountains and around Lake Bunyonyi near Kabale. The road from Kampala west to Fort Portal covers 300 kilometers and takes five to seven hours depending on traffic through Mubende and Kyenjojo. The route south from Kampala to Mbarara runs 266 kilometers on mostly paved surface, requiring four to five hours. From Mbarara continuing southwest to Kabale adds another 135 kilometers and two to three hours. The road from Kampala east to Jinja spans 81 kilometers on dual carriageway for much of the distance, typically covered in 90 minutes to two hours.
Buses provide the primary mode of intercity transport. Multiple companies operate scheduled services on major routes using coaches of varying standards. Gateway Bus, Jaguar Executive Coaches, and YY Coaches run daily departures between Kampala and principal cities including Mbarara, Kabale, Fort Portal, Gulu, and Mbale. Buses depart from company offices rather than a central terminal. The old Kampala taxi park near Nakivubo Stadium remains the hub for informal minibus taxis but has no organized schedule board or ticket system. Journey costs on major routes range from 15,000 to 40,000 Ugandan shillings depending on distance and service class. The Kampala-Mbarara route typically costs 20,000 to 25,000 shillings and departs hourly through midday. Kampala to Kabale runs 35,000 to 40,000 shillings with four to six daily departures. Reserved seats exist only on higher-tier bus services; shared minibuses depart when full regardless of posted schedules.
Matatu minibuses serve shorter routes and function as the local transport backbone. These 14-seat Toyota HiAce vans or similar vehicles operate on fixed routes but flexible schedules, departing when passenger capacity fills. Fares operate on a per-stage system within cities and flat rates between towns. A typical stage within Kampala costs 1,000 to 2,000 shillings. Conductors manage passenger flow and collect fares while drivers focus on navigation through congested roads. On rural routes, matatus stop anywhere passengers request rather than at designated stations only. Overtaking maneuvers on two-lane highways and irregular vehicle maintenance make matatu travel statistically riskier than coach buses, though comprehensive accident data remains incomplete.
Boda-bodas, motorcycle taxis, provide point-to-point transport within and between towns. An estimated 400,000 boda-bodas operate nationwide, with perhaps 150,000 in Kampala alone as of 2023. The term derives from "border-border," referencing their original use crossing the Kenya-Uganda border where motorized vehicles could not navigate. Riders negotiate fares before departure; smartphone apps SafeBoda and Uber in Kampala introduced metered pricing starting in 2017 and 2018 respectively. A typical boda-boda journey within Kampala costs 2,000 to 5,000 shillings for distances under five kilometers. Helmets became legally mandatory for riders and passengers in 2004, though enforcement remains inconsistent outside urban centers. SafeBoda riders receive training and branded helmets and jackets, creating a distinguishable service tier. Boda-bodas access areas impassable to four-wheeled vehicles during rainy periods and navigate Kampala traffic congestion faster than cars, but account for a disproportionate share of road injuries.
Private car hire operates through international agencies and local companies in Kampala and Entebbe. Avis, Europcar, and Hertz maintain counters at Entebbe International Airport alongside Ugandan companies including Roadtrip Uganda and Auto Rental Uganda. Daily rates for a basic sedan start around 100 USD, while four-wheel-drive vehicles suitable for national park access and unpaved roads range from 150 to 250 USD daily, typically excluding fuel. Fuel costs approximately 5,000 to 6,000 shillings per liter as of 2024, equivalent to roughly 1.35 to 1.60 USD. Self-drive rental exists but remains less common than chauffeur-driven arrangements. Most rental agreements prohibit crossing international borders without prior written authorization. Insurance typically excludes coverage on unpaved roads unless explicitly stated.
Uganda drives on the left side of the road, a remnant of British colonial administration. An international driving permit supplements foreign licenses for visitors intending to drive. Speed limits post at 80 kilometers per hour on highways and 50 kilometers per hour in urban areas, though enforcement occurs primarily through police checkpoints rather than automated systems. These checkpoints appear frequently on major routes, ostensibly checking vehicle documentation, driver licenses, and third-party insurance certificates. All vehicles must carry a warning triangle, fire extinguisher, and first-aid kit by regulation. Police maintain authority to issue on-spot fines for violations, though the line between legitimate enforcement and solicitation for bribes blurs in practice.
Navigation within Kampala challenges first-time visitors. The city lacks a grid system and many streets carry no signs. Landmarks replace addresses in directions: "opposite Game shopping center" or "behind the Shell station near Nakawa Market" function as location descriptors. Google Maps coverage improved substantially after 2015 but remains imperfect on smaller roads and in rapidly developing areas. Kampala experiences severe traffic congestion during morning hours from 0700 to 1000 and evening hours from 1700 to 2000, particularly on routes converging downtown near Kampala Road and around the Nakivubo taxi park. Journeys across the city that take 20 minutes at midday extend to 90 minutes during peak periods.
Motorcycle boda-bodas and bicycle taxis called boda-bodas interchange terminology, though motorcycles now dominate except in specific rural areas and around universities where pedal bicycles persist. Bicycle boda-bodas still operate in towns including Jinja and near Makerere University in Kampala, charging slightly less than motorized equivalents. The shift from bicycles to motorcycles accelerated after 2005 as Chinese-manufactured motorcycles became affordable through microfinance credit schemes targeting young men.
Water transport serves specific routes on Lake Victoria and across smaller lakes. Passenger ferries connect Entebbe and Port Bell near Kampala to the Ssese Islands. The MV Kalangala, a vehicle and passenger ferry, operates daily between Nakiwogo landing site in Entebbe and Kalangala on Bugala Island, the largest of the Ssese Islands. The crossing takes approximately three hours and costs 15,000 shillings for foot passengers, with vehicle charges additional. Smaller motorized boats run between Kasenyi landing site and various Ssese islands on less regular schedules. On Lake Bunyonyi near Kabale, dugout canoes and small motorboats transport visitors between the shore and islands where lodges operate. These boats negotiate prices per trip or per hour, typically 10,000 to 30,000 shillings depending on distance and group size.