1928-ban indult a Széna tér és a Marczibányi tér között, mely nem volt hosszú életű, azonban még ez év október 15-én újraindult a Boráros tér és Csepel, Szent Imre tér között. 1932 júniusában jelzését 21-esre módosították.
1933. december 20-ától ismét közlekedett új útvonalon, az Apponyi tér (ma: Ferenciek tere) és a Farkasréti temető között. 1943. december 31-én 8A jelzéssel betétjárat indult a Curia utca és a Gömbös Gyula út (ma: Alkotás utca) között. 1944 decemberében Budapest ostroma miatt a 8-as és a 8A autóbuszjárat megszűnt.
1948. május 31-én indult újra a 8-as a Krisztina tér és a Farkasréti temető között. 1951. november 11-én belvárosi végállomása újra a Felszabadulás tér (ma: Ferenciek tere) lett. 1955. július 11-én a 8-as és az újonnan induló 8A busz pesti végállomása a Március 15. tér, míg a budai a 8-asnak az Irhás árok (Ördögorom lejtő), a 8A-nak a Farkasréti temető lett.[1] 1964. november 21-étől az újonnan átadott Erzsébet hídon át közlekedtek az autóbuszok.
1973. szeptember 3-án a 8A busz megszűnt, helyette elindult a 108-as jelzésű gyorsjárat azonos útvonalon. 1977. január 1-jén a 108-as busz jelzése 8-asra módosult. 1983. február 28-án a 8-as busz megszűnt, pótlására március 1-jén újraindult a 8A busz a korábbi vonalán. 1990 októberében a 8A útvonala a Gazdagréti lakótelepig hosszabbodott. 1993. október 1-jétől a Gazdagréti téri autóbusz-végállomásról a Gazdagréti út – Rétköz utca útvonalon körüljárta a lakótelepet, majd tovább közlekedett a Március 15. térig. 1994-ben a mindenszentekkor betétjárat indult 8B jelzéssel a Március 15. tér és Farkasrét, Rácz Aladár út között. 1995 augusztusában a 8-as és a 8A buszt összevonták, az új járat 8-as jelzést kapott, az Irhás árok és az Ördögorom lejtő sarkán működő felső végállomás megszűnt és az új 8-as már csak a Gazdagréti térig közlekedett. Októberben új megállót kapott a járat a Nagyida és a Baradla utcánál. Ettől az évtől a temetői betétjárat az ekkora már szabaddá vált 8A jelzést viselte a 2001. évi megszűnéséig.[2]
1996. február 15. és március 8. között 8M jelzéssel ideiglenes járat közlekedett a Gazdagréti lakótelep és a Déli pályaudvar között a 139-es tehermentesítése érdekében.[3]
2009. május 23-án a Kecskeméti utca átépítése miatt az útvonala változott, a végállomást az Uránia megállóhelyhez helyezték át.[5]
2014. március 29-én a 4-es metró miatti átszervezések keretében vonalát a Bosnyák térig hosszabbították meg, és betétjáratot is kapott 8A jelzéssel.
2014. október 4-én a 8-as, a 8A és a 108-as járatokat összevonták. Az új, ismét egységes 8-as jelzésű járat pesti végállomását ekkor a Bosnyák tértől a Keleti pályaudvarhoz vonták vissza (a felhagyott Keleti pályaudvar – Bosnyák tér szakaszon többek között az új 110-es járat pótolja addigi szerepét). Ettől az időponttól tehát a Keleti pályaudvar–Gazdagrét–Kelenföld vasútállomás útvonalon közlekedett.[6] A változtatás bejelentésekor a BKK kommunikációja külön hangsúlyozta, hogy a Belváros és Gazdagrét közötti közvetlen közlekedésre nem ez a járat, hanem továbbra is a 239-es busz ajánlott, mely sokkal rövidebb útvonalon köti össze a két területet (mint ahogy természetesen a 8-as busz két végállomását jelentő pályaudvarok közötti átjutásra sem ez a járat, hanem elsősorban a 4-es metró alkalmas).
2015. október 3-ától Gazdagrét felől csak a 7-es buszok Keleti pályaudvar megállójában állt meg, a Baross téri fordulást utasok nélkül tette meg.[7]
2016. június 4-étől 8E jelzéssel közlekedik, Pesten gyorsjáratként, Budán pedig alapjáratként. Útvonalát Pesten meghosszabbították az Újpalota, Nyírpalota útig.[9]
Útvonala
Keleti pályaudvar felé
Kelenföld vasútállomás felé
Kelenföld vasútállomás M vá. – Alsó Beregszász út – aluljáró – Budaörsi út – Gazdagréti út – Rétköz utca – Gazdagréti út – Gazdagréti tér, forduló – Gazdagréti út – Törökbálinti út – Érdi út – Németvölgyi út – Hegyalja út – Erzsébet híd – Szabad sajtó út – Ferenciek tere – Kossuth Lajos utca – Rákóczi út – Baross tér – Keleti pályaudvar vá.
Keleti pályaudvar vá. – Baross tér – Rákóczi út – Kossuth Lajos utca – Ferenciek tere – Szabad sajtó út – Erzsébet híd – Hegyalja út – Németvölgyi út – Érdi út – Törökbálinti út – Gazdagréti út – Gazdagréti tér, forduló – Gazdagréti út – Rétköz utca – Gazdagréti út – aluljáró – Lapu utca – M1-M7 autópálya-bevezető – Alsó Beregszász út – Kelenföld vasútállomás M vá.
Megállóhelyei
8 (Keleti pályaudvar M – Gazdagréti tér – Kelenföld vasútállomás M)