公元13世纪前在今乌干达西部有一个叫基塔拉的酋长国。13~14世纪,游牧部落巴契韦齐人征服了这个国家。15世纪末至16世纪初,原居苏丹南部的卢奥人南下取代了巴契韦齐人的统治,建立布尼奥罗王国,在布干达建立了巴比托王朝。这些外来统治者不久被当地从事农业而文化较高的班图人所同化。在乌干达西南部,欣达人建立了安科莱王国。在乌干达北部,建立了许多各自为政的小国和氏族部落。1830年左右,布尼奥罗王国的王子卡波约在鲁文佐里山以东建立托罗王国。从17世纪起,布干达王国日渐强大并不断向外扩张。到18世纪中叶,其势力已超过布尼奥罗王国。
19世纪70年代,英国殖民者企图吞并乌干达各地,为布尼奥罗王国所阻。70年代末,英法基督教会先后到布干达王国传教。他们干预政治,引起教派纷争。连年的战争,使布干达王国迅速衰落。
1890年,英军入侵布干达。皇家不列颠东非公司的代理人弗雷德里克·卢加德上尉(后来的香港总督卢吉)迫使布干达国王姆旺加两次与他签订保护条约。1894年6月,英国政府与布干达签订新约,布干达正式成为英国的保护国。接着,英国于1896年将其保护范围扩大到乌干达全境。
乌干达行政大权控制在以总督为首的英国殖民官员手里。直到第二次世界大战后,个别非洲人才被允许参加殖民当局的行政和立法机构。在经济上,英国将乌干达变为棉花、咖啡等农产品供应地,竭力阻挠非洲人自己发展商业和加工业。
1919年乌干达又掀起了巴塔卡党和乌干达非洲农民联盟领导下的民主运动。1921年,乌干达第一个全国性政党乌干达国民大会党成立,提出了实行普选、建立自治政府、由非洲人控制经济等要求。1921~1928年,乌干达人民为要求释放被放逐在英国的布干达国王穆特萨二世展开斗争。