Schwarzer Kocher udspringer syd for Oberkochen. Den anden kilde, Weißer Kocher, udspringer vest for Unterkochen fra mange små kilder. Navnet Weißer Kocher kommer fra det hvide skum på vandet, når det hurtigt skyller over stenene. Schwarzer Kocher løber derimod ret langsomt, og den dækkede jord giver vandet en mørk farve. Begge kildepladser mødes i Unterkochen og løber mod nord gennem byen Aalen og Wasseralfingen indtil Hüttlingen, hvor Kocher drejer mod vest i retning af Abtsgmünd. Her udmunder floden Lein i Kocher. Herefter snor Kocher sig videre mod nordvest til Unterrot, hvor den modtager floden Rot og fortsætter til byerne Gaildorf og Schwäbisch Hall. I nærheden af Geislingen løber Bühler-floden ud i Kocher. I en bred kurve drejer Kocher derefter igen mod vest og skærer sig ind i Hohenlohe-sletten og løber gennem Künzelsau. Den fortsætter videre til Neuenstadt am Kocher, hvor den løber ud i Brettach-floden. I nærheden af Bad Friedrichshall løber Kocher ud i Neckar, et par kilometer opstrøms for udmundingen af floden Jagst, der løber mere eller mindre parallelt nordøst for Kocher.
Forløb af Kocher og dens vigtigste bifloder
Henkersbrücke spænder over Kocher ved Schwäbisch Hall