Maputo ligger helt sør i landet, omkring 26° sør og 32° 35′ øst. Byen ligger på vestsiden av Maputobukta (Baía de Maputo) ved Det indiske hav, i et område hvor fem elver renner ut i havet. Maputo har et areal på omkring 300 km². Deler av byen har en brattkant mot havet eller mot en lavereliggende brem, og den østlige delen nord for selve bykjernen består av en flate noen få meter over havet. Forøvrig går det med varierende bratthet opp fra havnivå til et nivå omkring 30-50 meter over havet som utgjør størstedelen av byens areal.