Mahanoy Creek rises in the anthracite coal fields of Schuylkill County, on Broad Mountain just east of Mahanoy City. It flows west, between Shenandoah and Frackville, entering a valley along the north side of Ashland Mountain and passing through Girardville. At Ashland the creek turns south and cuts through the mountain, turning west again at Gordon. The creek enters a long, narrow valley between Mahanoy Mountain to the north and Line Mountain to the south and crosses into Northumberland County. Shortly after the western end of Mahanoy Mountain, the creek turns south and breaks through Line Mountain at Dornsife Gap, then turns west again, makes several wide bends, and joins the Susquehanna River near the borough of Herndon.