Budapest nevének eredete ma is vitára ad okot. Az ezzel kapcsolatos modern kutatások a reformkorig vezethetők vissza. Első ízben Széchenyi István Világ című művében fordult elő 1831-ben Buda és Pest közös elnevezéseként, az akkori helyesírásnak megfelelően Buda-Pest alakban. A két várost már korábban is emlegették összefoglaló néven, de a nagyság szerinti sorrendre tekintettel Pest-Buda formában. 1873-ban, Pest, Buda és Óbuda egyesítésekor már magától értetődő természetességgel választották az új főváros számára a mássalhangzó-torlódást kiküszöbölő Budapest nevet.
A Buda név a korai Árpád-korban az ókori Aquincum helyén épült római települést jelölte, amelyet csak a tatárjárást követően, az akkor Újbudának nevezett budai vár megépítése után kezdtek Ó-Buda néven emlegetni. A város a középkori krónikáink szerint Attila hun király testvéréről kapta nevét, ebből azonban valószínűleg csak annyi igaz, hogy a név eredete valóban lehetett személynév is. (Középkori forrásokban előfordulnak Buda nevű személyek.) Egy másik, nem igazolható feltevés szerint a városnév eredete a szláv voda ('víz') szó lehet, ahogyan az ókori latin Aquincum név végső forrása is valamely vízzel összefüggő jelentésű kelta szó lehetett.
Mások úgy vélik, hogy a név ősi eredetű, és az Ősbudára utal.
A 19. század közepétől egy érdekes elmélet kapott szárnyra, miszerint a Pest elnevezés az ókorba nyúlik vissza,jazig eredetű. Rómer Flóris a dunabalparti római erődvonalat tanulmányozva úgy gondolta, hogy itt kellett lennie egy erőditménynek, amelynek helye szerinte a Váci kapunál lehetett. Ezt összekötötte azzal, hogy Ptolemaiosz 2. századi tudós Bevezetés a föld feltérképezésébe (Γεωγραφικὴ Ὑφήγησις, Geógraphiké hüphégészisz) című művében van egy jazig város, amelynek földrajzi helyét Rómer Contra-Aquincum helyével azonosította. (A Ptolemaiosz által megadott földrajzi koordináták értelmezési nehézségeit jól mutatja, hogy ugyanekkor Salamon Ferenc Nagykőröshöz, Finály Gábor viszont Csongrádhoz teszi a várost.) Ennek neve Pásszion (Πάσσιον) vagy Pesszion (Πέσσιον, iii.7.§2) volt, Nagy Lajos szerint viszont Pesztionról (Πέστιον) romlott a kódexmásolók kezén, mely nevet a rómaiak megtarthatták, és így maradhatott örökül a honfoglaló magyarokra.
Az elfogadottabb magyarázat szerint viszont a budai oldalon található Gellért-heggyel kapcsolatos, a szó ugyanis a szláv nyelveken „barlangot”, „sziklaüreget” jelent, a régi magyar nyelvben pedig a kemencét nevezték pestnek, ahogy azt például Székelyföld egyes részein még a 20. században is használták. Így lett a hévizes barlangot („forró kemencét”) rejtő mai Gellért-hegy Pest-hegy, a hegy lábánál ősidők óta használt folyami átkelő pedig Pest-rév, és innen kapta végül a túlparton létrejött település a nevét. A névnek ez az érdekes „túlpartra vándorlása” legkorábbi középkori forrásainkban jól nyomon követhető. Hasonló eredetű Buda német neve, Ofen is (magyarul „kemence”), amely délnémet nyelvjárásban a szláv pest szóhoz hasonlóan barlangot, üreget is jelent. Érdekes, hogy egy tatárjárás előtti oklevél Ofen néven a folyó bal partján lévő települést, azaz a mai Pestet jelöli meg, később azonban a helyi németek már csak a budai várhegyre alkalmazták ezt a nevet.
Van olyan elképzelés is, mely szerint a név a víz szóra vezethető vissza, utalva a Dunára.
- Széchenyi István: Világ, 1831
A reformkorban az ikervárosok, Buda és Pest fővárossá egyesítése már az 1830-as években beszédtéma volt, Széchenyi István már a Lánchíd építésével is ezt a célt szorgalmazta, 1831-ben, a Világ című művében egy angol személy levéltöredékeként tette közzé nézeteit.
Az egyesítés előtt vita tárgyává vált az új magyar főváros neve. A több nyelvet ismerő Széchenyit zavarta a Pest elnevezés, mivel a német „kártevő” (pest) és a „dögmirigy” (peste) szót, de a „Buda is, Pest is” szóösszetétel révén a „pestis” szó is kellemetlen volt számára. Ezért több név variációt is felvetett, végül a „Bájkert”, „Dunagyöngye”, „Etelvár” és „Hunvár” variáns után a „Honderű” városnév elnevezés mellett érvelt. A „legnagyobb magyar” azonban a negyvenes évek elején elállt kedvenc névötletétől, mert felhívták a figyelmét arra, hogy a Honderű név kiejtésében nagyon hasonlít a francia honte (’szégyen’) és rues (’utcák’) szavak összetételéhez. Amikor a leginkább elfogadott Pest-Buda nevet összefoglaló névként a térképekre nyomták volna, a Pest betűi a Duna budai, a Buda felirat pedig a pesti oldalára estek volna, ezért egyre inkább elfogadottá vált, hogy az ország szívének elnevezése Pest, Buda, Óbuda és a Margit-sziget fővárossá egyesítése után, Budapest legyen. Arany János 1846-ban már ezt írta a Toldi kilencedik énekében: „Budapest városát sok ezeren lakják.” Végül 1873-ban egyesítették az 54 ezer lakosú Budát, a 200 ezer lakosú Pestet és a 16 ezer lakosú Ó-Buda mezővárost, ekkor vált hivatalossá a ma is használatos Budapest név.