Nasce acima dos 1300 m, na serra Geral, na cidade de Painel, localidade de Farofa. É um rio importante por abastecer a cidade de Lages, passando ao sul e a oeste da qual está situada a represa Caveiras.
A bacia do rio Caveiras inicia na região do município de Painel, passa por Lages, até desaguar no rio Canoas, na região do Salto dos Marianos em São José do Cerrito. No perímetro urbano de Lages, a bacia é composta também pelos rios Ponte Grande e Carahá.