Pramení v pohoří Rothaargebirge u města Netphen a převážnou část toku teče přes pohoří Rheinisches Schiefergebirge v členité kotlině. Zpočátku teče východním směrem, přičemž protéká na vestfálské straně městečkem Bad Laasphe a na hesenské straně městem Biedenkopf. Severně od univerzitního města Marburg, kde do ní ústí řeka Ohm, se stáčí na jihozápad. U univerzitního města Gießen se obrací ještě více k západu a protéká Wetzlarem a residenčním městem Weilburg. Za Weilburgem se Lahn stáčí prudce na jih a u vesnice Aumenau její tok vytváří téměř pravý úhel, poté pokračuje dále na západ. Hned za biskupským městem Limburg vstupuje Lahn do Porýní-Falcu, protékajíc hraběcí město Diez. Zde začíná malebné lahnské údolí, kde se nacházejí romantické vesnice a města jako Nassau či Bad Ems. Lahnstein je posledním městem, které Lahn míjí před svým ústím do Rýna. Od Wetzlaru tvoří Lahn přírodní hranici mezi pohořími Taunus (jižně) a Westerwald (severně).
Známá lidová píseň „Stojí hospoda na Lahně“ zpívá o hospodě, kde se zastavují pocestní a jejíž paní hostinská má krásnou dceru. V písni se však neudává, o kterou hospodu jde. V městech Marburg a Lahnstein, jakož i ve vesnici Dausenau u města Bad Ems, jsou staré hospody, které si dělají nárok na to být oním opěvovaným hostincem.[1]