Rijeka Drina većim dijelom svoga toka predstavlja istočnu granicu Bosne i Hercegovine. To je naša najduža pritoka rijeke Save. Dužina rijeke iznosi 346 kilometara, a njena slivna površina u Bosni i Hercegovini obuhvata teritorij od 7 240 km².
Rijeka nastaje spajanjem crnogorskih rijeka Pive i Tare u Šćepan-polju, na nadmorskoj visini od 433 m. To je vrlo brza i hladna rijeka sa zelenkastom bojom vode. Njena prosječna dubina je od 3 do 5 metara, a prosječna širina od 50 do 60 m.
Rijeka Drina je izgradila kompozitnu riječnu dolinu i na većem dijelu svoga toka to je planinska rijeka koja zajedno sa svojim pritokama presijeca gotovo cijeli istočni dio dinarske planinske oblasti, te se njen sliv idući od izvora usijeca kroz visoke planine, zatim sredogorje, te na kraju ulazi u nizijsko područje na sjeveru.
U gornjem toku prima svoju lijevu pritoku, rijeku Sutjesku, čije se izvorište nalazi na planini Volujak na nadmorskoj visini od 1800 m. Na svom putu dugom 33 km izgradila je kanjonastu dolinu, sa brojnim brzacima i kaskadama. Većim dijelom rijeka protječe kroz NP Sutjeska. Vodopad Skakavac, visok 74 m nalazi se na rijeci Perućac, pritoci rijeke Sutjeske.
Nizvodno, u Drinu se ulijeva njena lijeva pritoka Bistrica, duga oko 40 km, te rijeka Ćehotina, njena desna pritoka. Ćehotina dotječe iz Crne Gore, a u Drinu se ulijeva u Foči, gradu koji se smjestio u Fočanskoj kotlini. Dalje Drina ponovo teče kroz duga riječna suženja, među kojima je najduža klisura Suhi dol-Biserovina duga 45 km, a zatim ponovo ulazi u prostrano riječno proširenje, Goraždansku kotlinu.

U Ustiprači Drina prima svoju lijevu pritoku Praču čije izvorište se nalazi u podgorinama planina Jahorine i Romanije. Drina dalje teče na sjeveroistok i ulazi u 26 km dugu Međeđu klisuru čiji je najuži dio klisura Tijesno, duga oko 8 km. Najuži dio ove klisure dostiže širinu od samo 12 metara.
Desna pritoka, rijeka Lim dotiče iz Srbije u Bosnu i Hercegovinu u mjestu Uvac.
U Višegradskoj kotlini, u gradu Višegradu, Drini pritječe njena desna pritoka, Rijeka Rzav, nastala spajanjem Belog i Crnog Rzava koje dotječu iz Srbije. Rijeka Žepa, njena lijeva pritoka izvire na planini Žep, južno od Han Pijeska. Duga je 25 km. Drina dalje gradi 28 km dugu i na nekim mjestima i jedan kilometar duboku Klotijevačku klisuru u kojoj je izgrađeno vještačko jezero Perućac za potrebe HE Bajna Bašta. Kroz Srebrenicu i Bratunac teče rijeka Križevica, lijeva pritoka Drine.
Dolina Drine je potopljena i na području ušća njene lijeve pritoke, rijeke Drinjače, izgrađena je vještačka akumulacija, Zvorničko jezero, površine 8 km². Poslije grada Zvornika, Drina teče istočno od planine Majevice i ulazi u najniži dio svoga toka, koji se nalazi na obodu Panonske nizije, gdje se ona često izlijeva u brojne rukavce i stvara najveću naplavnu niziju u Bosni i Hercegovini, Semberiju. Drina ovdje često meandrira, tj. pravi okuke i gradi brojne riječne otoke, ade. Značajne lijeve pritoke ovoga dijela toka rijeke Drine su: Sapna, Kozlučka rijeka i rijeka Janja.
Kod Bosanske Rače Drina se ulijeva u rijeku Savu na nadmorskoj visini od 87 m.
Njen uticaj na okolinu, kao i upravljanje vodnim resursima, igraju ključnu ulogu u razvoju regije i očuvanju prirode.