Elvens kilde finnes i landskapet Gorski kotar i den kroatiske nasjonalparken Risnjak, nordøst for Rijeka. Etter få kilometer i nordlig retning, ved sammenløpet med elven Čabranka, vender Kupa mot øst og blir grenseelv mellom Kroatia i sør og Slovenia i nord. Kupa fortsetter som grenseelv til den når broen ved Kamanje på kroatisk side. Deretter renner elven videre på kroatisk territorium. Kupa passerer byen Karlovac og munner ut i Sava ved Sisak. De eneste vannkraftverket langs elven er oppført ved Ozalj.