De Schwarzer Kocher ontspringt ten zuiden van Oberkochen. De tweede bron, de Weißer Kocher ontspringt ten westen van Unterkochen uit vele kleine bronnen. De naam Weißer Kocher komt van het witte schuim op het water als het snel over de stenen raast. De Schwarzer Kocher stroomt daarentegen vrij langzaam en de bedekte bodem geeft het water een donkere kleur. Beide bovenlopen komen samen in Unterkochen en stromen noordwaarts door de stad Aalen en Wasseralfingen tot Hüttlingen, waar de Kocher naar het westen afbuigt in de richting van Abtsgmünd. Hier mondt de Lein uit in de Kocher. De Kocher slingert dan verder naar het noordwesten tot Unterrot, waar hij de rivier de Rot ontvangt en verder stroomt naar de steden Gaildorf en Schwäbisch Hall. Bij Geislingen mondt de Bühler uit in de Kocher. In een wijde bocht draait de Kocher dan weer naar het westen, snijdt de vlakte van Hohenlohe in en stroomt door Künzelsau. Hij loopt verder tot Neuenstadt am Kocher, waar hij uitmondt in de Brettach. Bij Bad Friedrichshall mondt de Kocher uit in de Neckar, een paar kilometer stroomopwaarts van de monding van de rivier de Jagst, die min of meer parallel noordoostwaarts stroomt met de Kocher.
Loop van de Kocher en zijn belangrijkste zijrivieren
De Henkersbrücke overspant de Kocher bij Schwäbisch Hall