Havanna ligger på den nordlige kyst af Cuba, syd for Florida Keys, hvor Mexicogolfen slutter sig til Atlanterhavet. Byen strækker sig hovedsagelig vestpå og sydpå fra bugten, som indtræder gennem en smal indgang og som opdeler sig i tre hovedhavne: Marimelena, Guanabacoa og Atarés. Den langsomme Almendares-flod krydser byen fra syd til nord og ind i Florida-strædet et par miles vest for bugten.
Florida-strædet