S Schwarzer Kocher rinner upp söder om Oberkochen. Den andra källan, Weißer Kocher, rinner väster om Unterkochen från många små källor. Namnet Weißer Kocher kommer från det vita skummet på vattnet när det snabbt rusar över stenarna. Schwarzer Kocher rinner däremot ganska långsamt och den täckta marken ger vattnet en mörk färg. Båda källflödena förenas i Unterkochen och rinner norrut genom staden Aalen och Wasseralfingen fram till Hüttlingen, där Kocher svänger västerut i riktning mot Abtsgmünd. Här mynnar floden Lein ut i Kocher. Kocher slingrar sig sedan vidare åt nordväst till Unterrot, där den tar emot floden Rot och fortsätter till städerna Gaildorf och Schwäbisch Hall. I närheten av Geislingen mynnar floden Bühler ut i Kocher. I en bred kurva svänger Kocher sedan återigen västerut, skär in i Hohenlohe-slätten och rinner genom Künzelsau. Den fortsätter vidare till Neuenstadt am Kocher där den mynnar ut i floden Brettach. I närheten av Bad Friedrichshall rinner Kocher ut i Neckar, några kilometer uppströms från mynningen av floden Jagst, som rinner mer eller mindre parallellt nordost om Kocher.
.