Przez miasto przepływa Dunaj na długości 28 km i dzieli miasto na dwie części: lewobrzeżny Peszt, położony na równinie (część Wielkiej Niziny Węgierskiej) i prawobrzeżną Budę, położoną na wzgórzach budańskich. Jednym ze wzgórz jest Góra Jana, której szczyt stanowi najwyższy punkt Budapesztu (527 m.n.p.m.), a na nim znajduje się Wieża Elżbiety, wieża widokowa z początków XX wieku.