
Řeka Úpa vytéká z Úpského rašeliniště v Krkonoších v těsné blízkosti hranice s Polskem. Rašeliniště je přírodní rezervací a je součástí I. zóny Krkonošského národního parku. Vstup na toto území proto není povolen kromě modře značené Schustlerovy cesty, která vede od bývalé Obří boudy (Obří sedlo) k Luční boudě a Úpským rašeliništěm prochází po povalovém chodníku.
Asi kilometr po proudu leží Dolní úpský vodopád. Odtud Úpa míří k jihu Obřím dolem do Pece pod Sněžkou. Tam se obrací k jihovýchodu a protéká přes Horní Maršov k městu Svoboda nad Úpou, kde opouští Krkonoše a míří k Trutnovu. Mezi Havlovicemi nad Úpou a Českou Skalicí protéká řeka Babiččiným údolím, které je národní přírodní památkou. Nad levým břehem leží v tomto úseku zříceniny tří středověkých hradů – Vízmburku, Červené Hory a Rýzmburku. Pod ratibořickým zámkem odvádí část vody z řeky Úpský přivaděč, zásobující vodní nádrž Rozkoš. Odtud však voda teče do Metuje. Samotná Úpa pak teče k jihozápadu přes Českou Skalici a v Jaroměři ústí zleva do Labe. Patří tedy do úmoří Severního moře. Od svého pramene k ústí řeka klesla o 1200 metrů. Její tok je dlouhý necelých 79 km..