1929.12.28. új járat indul 21-es jelzéssel a Krisztina tértől a Mészáros u. - Pálya u. (Koronaőr u.) - Győző u. - Márvány u. - Ugocsa u. útvonalon át a Németvölgyi útig.
1930.02.05. egyrészt az Alagút - Lánchíd - Zrínyi u. - Hercegprímás u. - Erzsébet tér útvonalon a Deák Ferenc térig jár, Budán pedig körforgalomban a Németvölgyi út - (Fery Oszkár u. - Alkotás u. - Márvány u. - ) útvonalon közlekedik.
1931.10.17.-től 1931.11.06.-ig a Király u. - Székely u. - Andrássy út - Liszt Ferenc tér - Király u. - útvonalon közlekedik kísérleti jelleggel.
1932.06.30. átszámozás: a 21-es a továbbiakban 2-es jelzéssel közlekedik, a Csepel, Szent Imre tér és Boráros tér között közlekedő 8-as jelzése pedig 21-esre módosul.
1938.10.23. Csepelen a - Szabadkikötő út - Erzsébet u. - Szent Imre tér - (II. Rákóczi Ferenc út - Ady Endre u. - ) útvonalon jár.
1944.11.03.? üzemzárással megszűnik.
1946.11.11. újraindul a 21-es.
1947.01.19. Csepelen a Kossuth utcán és a Szent István úton át Csepel, Sporttelepig közlekedik.
1952.03.30. üzemzárással megszűnik.
1953.11.07. új járat indul 21-es jelzéssel a Moszkva tér és a Mártonhegyi út között a Krisztina körút - Alkotás u. - Nagyenyed u. - Orbánhegyi út - Fodor u. útvonalon.
1956.05.12. a Fodor utcától a Tornaalja u. - Kempelen Farkas út - Bürök u. - Szendi árok - Stromfeld Aurél u. útvonalon (és vissza) a Lékai János térig közlekedik.
1956.10.23. üzemszünet.
1957.01.02. újraindul a 21-es.
1957.09.01. a 21-es a Lékai János tér helyett Szabadsághegy, fogaskerekű állomásig közlekedik az Orbánhegyi úttól az Istenhegyi út - Mátyás király út - Hollós út - (Diana u. - Költő u. - Istenhegyi út - ) útvonalon. Ez eddigi N jelzésű járatok 21A jelzéssel Szabadsághegy és Csillebérc, valamint 21B jelzéssel Szabadsághegy és János-hegy között közlekednek, utóbbi csak hétvégéken.
1957.12.30. átszámozás: a 21A a továbbiakban 90-es jelzéssel közlekedik.
1958.01.20. új járat indul 21A jelzéssel a Moszkva tér és a György Aladár utca között az Istenhegyi úton és a Béla király úton át.
1958.03.09. üzemzárással megszűnik a 21A.
1972.11.24. a 21-es a Moszkva téren, a Várfok utcában átadott új végállomásig közlekedik, Svábhegy felé érinti a Maros utcát.
1983.03.01. új gyorsjárat indul 21gy jelzéssel a 21-es végállomásai között, azonban mindkét irányban végig az Istenhegyi úton át.
1988.07.01. a 21-es csak a Nógrádi utcáig közlekedik, a 21gy viszont teljes üzemidőben a Normafáig jár.
1988.09.05. a 21-es ismét Svághegyig jár.
1991.07.01. a 21-es és a 21gy Svábhegy felé a Maros utca érintése nélkül, a Krisztina körúton közlekedik.
1996.03.01. a 21-es teljes üzemidőben a Normafáig közlekedik, a 21gy útvonala és üzemideje rövidül, csak csúcsidőben és csak Svábhegyig jár.
2008.08.21. átszámozás: a 21-es a továbbiakban 90A, a 21gy pedig 190-es jelzéssel közlekedik.
2011.05.01. átszámozás: a 90-es a továbbiakban 21-es, a 90A pedig 21A jelzéssel közlekedik.
2016.04.16. a 21-es és a 21A a Csaba utca érintése nélkül, a Várfok utca - Krisztina körút - útvonalon jár.
2020.10.10. a 21-es Normafa forduló érintése nélkül, az Eötvös út új nyomvonalán közlekedik.
2021.09.04. a 21A a 21-es útvonalán a Normafa, látogatóközpont néven létesült új végállomásig jár.
2022.08.06. a továbbiakban 21-es jelzéssel a Széll Kálmán tér és a Normafa, 21A jelzéssel a Széll Kálmán tér és Svábhegy, 221-es jelzéssel pedig a Széll Kálmán tér és Csillebérc között közlekednek a járatok.