Ulm ligger hvor elvene Blau og Iller renner ut i Donau i en høyde av 479 moh. De fleste delene av byen, inkludert gamlebyen, ligger på den venstre bredden av Donau, bare distriktene Wiblingen, Gögglingen, Donaustetten og Unterweiler ligger på høyre bredde. På høyde med gamlebyen, på den andre siden av elva, ligger tvillingen Neu-Ulm i Bayern som er mindre enn Ulm. Neu-Ulm var frem til 1810 del av Ulm og har i dag i underkant av 50 000 innbyggere. Med unntak av Donau i sør er byen omgitt av skog og høyder som stiger til over 620 moh. Noen av dem er del av Schwabisk Alb. Sør for Donau slutter sletter og høyder i den nordlige grensen til Alpene som befinner seg rundt 100 km fra Ulm og er synlig fra byen på klare dager.