Heidelberg ligger som del av Oberrheinische Tiefebene. Byen har størst bebyggelse på venstre elvebredde av Neckar der den flyter ut av Odenwald i en buktende dal avgrenset av Königstuhl (568 m) og Gaisberg (375 m) i sør og Heiligenberg (445 m) i nord på høyre elvebredde. Neckar renner her fra øst mot vest. Neckar munner ut i Rhinen ved Mannheim rundt 22 km nordvest for byen.