Den store Karup Å begynder, hvor Bording Å og Skygge Å løber sammen ved Skygge i Ikast-Brande Kommune. Herfra løber åen nordpå og rammer grænsen til Viborg Kommune lige sydvest for Kompedal Plantage. Åen følger kommunegrænsen indtil omkring Vallerbæk og fortsætter mod nord og nordvest gennem Viborg Kommune. Fra Høgild Mose fortsætter den nordpå langs grænsen mellem hhv. Viborg og Herning, Holstebro og Skive Kommuner, og først ved Ørbækgård Plantage forlader åen helt Viborg Kommune. Dens videre forløb går gennem Skive Kommune til udløbet i Skive Fjord syd for havnen i Skive. Karup Å har en samlet længde på ca. 78 km og et opland på 756 km2. På sit løb gennem Viborg Kommune er åen næsten ureguleret og kantes af næringsfattige moser, enge og overdrev samt af enkelte hedearealer som Hessellund Hede og Donsø Sande nordvest for Karup.
Karup Å er meget renvandet, hvilket bl.a. kommer til udtryk i et rigt insektliv. Det omfatter et stort antal slørvinger og døgnfluer, heriblandt flere sjældne arter som sort fiskedøgnflue, vestlig krabbedøgnflue og gul sommerdøgnflue samt slørvingerne Isoptena serricornis og stor slørvinge. Dertil kommer guldsmede som blåvinget pragtvandnymfe og den fredede grøn kølleguldsmed.
Fiskebestanden tæller mange store havørreder, men huser også arter som bækørred, helt, aborre, gedde, elritse, strømskalle, ål, flodlampret og bæklampret. Damflagermus og vandflagermus ses ofte jage over åen, som også har en stor forekomst af odder. Bjergvipstjert, isfugl, lille lappedykker, storspove, rørhøg og dobbeltbekkasin yngler i ådalen, hvor man om vinteren desuden kan opleve arter som blå kærhøg, stor tornskade og vandstær. Også fiskeørn ses jævnligt ved åen.
Karup Å benyttes bl.a. til kano- og kajakroning. Karup Å er desuden populær blandt lystfiskere pga. dens gode bestande af store havørreder.
For at sikre åens naturlige forløb og undgå etablering af flere dambrug blev ca. 500 ha af åen og dens opland mellem Karup og lidt nord for Hagebro fredet i 1964. Derudover er strækningen nedstrøms Karup udpeget som habitatområde.