Die Oder entspringt im Landkreis Goslar im Herzen des Harzes. Ihre Quelle liegt im südlichen Teil des Brockenfeldes etwa 1,3 km nördlich der Achtermannshöhe. Auf dem Brockenfeld, das in der Nähe des Odersprungs liegt, haben auch die Flüsse Abbe, Große Bode, Ecker und Kalte Bode ihren Ursprung. An seinem Rand steht der alte Grenzstein Dreieckiger Pfahl.
Nachdem die Oder in Oderbrück die Bundesstraße 4 in Ost-West-Richtung unterquert hat, staut sie sich erstmals westlich des Ortes im Oderteich, wo sie nach Süden abknickt. Einige Kilometer weiter flussabwärts wird der Fluss unweit südwestlich der Odertaler Sägemühle durch die Staustufe der Odertalsperre zum zweiten Mal aufgestaut. Danach fließt sie durch Bad Lauterberg und verlässt den Harz.
In Bad Lauterberg schwenkt die Oder nach Westen, fließt durch Pöhlde und Hattorf am Harz, passiert nördlich des Rotenbergs den Höhenrücken und erreicht Wulften. In Hattorf sammelt sie die von Nordosten kommende Sieber, bevor sie in Katlenburg von Osten her in die Rhume (ein Nebenfluss der Leine) mündet.
Zwischen Scharzfeld und Katlenburg fließt die Oder durch das Naturschutzgebiet Oderaue.