The river rises in two branches, the West and East branches, along the boundary between Susquehanna and Wayne counties. The branches, each about long, flow south, closely parallel to each other, and join at the Stillwater Lake reservoir in Union Dale. The combined river flows southwest past Forest City, Carbondale, Mayfield, Jermyn, Archbald, Jessup, Blakely, Olyphant, Dickson City, Throop, Scranton, Taylor, Moosic, Old Forge, and Duryea. It joins the Susquehanna River at the northern boundary of Pittston about west-southwest of Scranton.