Poprad tworzy się w słowackiej części Tatr Wysokich, z połączenia Hińczowego Potoku z potokiem Krupa, wypływającym z Popradzkiego Stawu. Najdalej i najwyżej usytuowane źródła ma Hińczowy Potok, wypływający z Wielkiego Stawu Hińczowego na wysokości 1945 m n.p.m. Potoki łączą się w Dolinie Mięguszowieckiej na wysokości 1302 m n.p.m. Okrąża Tatry Wysokie od południa i wpływa na Kotlinę Popradzką. Przepływa przez miasta Poprad oraz Kieżmark i po przepłynięciu na północny wschód między Tatrami Wysokimi i Magurą Spiską a Górami Lewockimi wypływa na Kotlinę Lubowelską. Przed barierą Gór Lubowelskich przepływa przez zabytkowe miasto Lubowlę i zatacza łuk na wschód. Koło wsi Pławiec raptownie skręca na północny wschód, przecina granicę Polski we wsi Čirč, a potem skręca na północny zachód. Przełomową doliną płynie przez Beskid Sądecki, oddzielając od siebie dwa jego główne pasma: Pasmo Radziejowej i Pasmo Jaworzyny Krynickiej. Granicę polsko-słowacką stanowi na dwóch odcinkach – najpierw od Leluchowa do Muszyny (5,1 km), a potem od Legnavy do Piwnicznej-Zdroju (26 km). Wpada do Dunajca między Starym a Nowym Sączem.