In de 11e eeuw migreerden de Tamils vanuit Zuid-India naar het noorden van Sri Lanka. Hier vestigden zij een koninkrijk rondom Jaffna. De relatie met de aanwezige Singalezen was complex, en kende vreedzame periodes en periodes van oorlog. Uiteindelijk dreven de Tamils de Singalezen naar het zuiden van het land.
In de 16e eeuw vestigden de Portugezen zich in Sri Lanka, opgevolgd door de Nederlanders. De aantrekkelijke ligging aan belangrijke handelsroutes en de natuurlijke rijkdom waren belangrijke redenen om zich te vestigen in Sri Lanka. In 1796 namen de Britten het land over, in 1802 werd het een kroonkolonie van het Britse Rijk.
Waar de Nederlanders zich beperkten tot het gebied rondom Kandy, vestigden de Britten zich wel in het hele land. Vele invloeden van deze tijd zijn dan ook nog te zien. Na ongeveer 150 jaar, in 1948, verkreeg Sri Lanka onafhankelijkheid, dit onder de naam Ceylon. De regering verklaarde dat het Singalees de officiële taal werd, de minister-president stond het Tamil in bepaalde gebieden toe. Een Singalese extremist besloot hierop de minister-president om het leven te brengen. Sindsdien hebben spanningen tussen de Tamils en de Singalezen altijd bestaan.
In 1972 veranderde Ceylon in Sri Lanka. De hoofdstad werd in 1982 Sri Jayawardhenapura Kotte, hier zetelt de regering. De commerciële hoofdstad is Colombo. In de jaren ’80 kwamen de conflicten tussen de Tamils en Singalezen tot een hoogtepunt, en sindsdien zijn er tienduizenden inwoners omgekomen in de burgeroorlog. Een poging tot interventie van India heeft niet geholpen de strijd tot een einde te brengen.
In 2002 hebben de regering en de Tamils een staakt-het-vuren afgesloten, Noorwegen bemiddelde in de onderhandelingen. Vanaf 2005 is Mahinda Rajapaksa president van Sri Lanka. Het land is sinds 1955 lid van de Verenigde Naties.