Schwarzer Kocher nousee Oberkochenin eteläpuolella. Toinen lähde, Weißer Kocher, nousee Unterkochenin länsipuolella monista pienistä lähteistä. Nimi Weißer Kocher tulee veden valkoisesta vaahdosta, kun se syöksyy nopeasti kivien yli. Schwarzer Kocher sen sijaan virtaa melko hitaasti, ja peitteinen maa antaa vedelle tumman värin. Molemmat päävedet yhtyvät Unterkochenissa ja virtaavat pohjoiseen Aalenin kaupungin ja Wasseralfingenin läpi Hüttlingeniin, jossa Kocher kääntyy länteen Abtsgmündin suuntaan. Täällä Lein-joki laskee Kocheriin. Kocher virtaa edelleen luoteeseen Unterrotiin, jossa se saa Rot-joen ja jatkuu Gaildorfin ja Schwäbisch Hallin kaupunkeihin. Geislingenin lähellä Bühler-joki laskee Kocheriin. Laajassa kaaressa Kocher kääntyy jälleen länteen, leikkaa Hohenlohen tasangon ja virtaa Künzelsaun läpi. Se jatkuu edelleen Neuenstadt am Kocheriin, jossa se yhtyy Brettach-jokeen. Bad Friedrichshallin lähellä Kocher laskee Neckariin muutama kilometri ylävirtaan Jagst-joen suulta, joka virtaa suunnilleen samansuuntaisesti koilliseen Kocherin kanssa.