The source of the Havel is located close to the town of Fürstenberg on the border between Brandenburg and Mecklenburg-Western Pomerania. Its main tributary is the Spree river, which joins the Havel in the western quarters of Berlin. Between Berlin and the town of Brandenburg the river forms dozens of small lakes. The last section of the river flows through a region called Havelland; only the last few kilometres are located on the territory of Saxony-Anhalt, where the Havel enters the Elbe near Havelberg.
Towns on the course of the river include: Zehdenick, Oranienburg, Berlin, Potsdam, Werder, Brandenburg, Premnitz, Rathenow and Havelberg.