Dravinja izvira na Pohorju, na gozdnatih pobočjih južno od Rogle, sprva teče proti jugovzhodu skozi Zreče in Slovenske Konjice do Loč, od tam naprej proti vzhodu po enakomerno široki Dravinjski dolini ob severnem vznožju Haloz do izliva v Dravo pod Vidmom pri Ptuju. Reka Dravinja z vsemi pritoki meri 1361 km, povprečna gostota rečne mreže je 1,67 km/km².
Večji levi pritoki so Oplotniščica, Ličenca, Brežnica, Ložnica in Polskava. Glavni desni pritoki so Ljubnica, Koprivnica, Žičnica, Klokočovnik, Bela, Jelovški potok, Peklača in Rogatnica.
Dravinja je v zgornjem toku izrazito hudourniški vodotok, v spodnjem toku pa značilna nižinska reka s počasnim in vijugastim tokom. Ima neizrazit snežno-dežni režim s prvim viškom v aprilu, ki je posledica taljenja snežne odeje na Pohorju, in le malo manjši drugi višek v novembru in decembru. Značilen je izrazit padec pretoka v mesecu avgustu in septembru, medtem ko so pretoki junija in julija večji zaradi viška padavin v teh dveh mesecih. Zaradi velikih strmin ima reka v povirnih delih precej večji specifični odtok (21,2 l/s/km2; vodomerna postaja Zreče) kot v spodnjem delu (13,6 l/s/km2; vodomerna postaja Videm). Odtočni količnik znaša v zgornjem toku okoli 46 %, po toku navzdol se zniža na vsega 34 %.
Najmanjši zabeležen pretok zanaša 0,45 (m3/s) [avgust 1992] in največji zabeleženi pretok znaša 118 (m3/s) [ november 1998], oba sta bila izmerjena v Makolah.
V Dravinji živijo številne ribje vrste: potočna postrv v zgornjem toku, podust, navadna mrena, rdečeoka, ogrica, pohra, klen, ščuka, smuč in platnica.