The East Branch of Chester Creek is 17.1 miles (27.5 km) long. Rising near Kirkland, it crosses under the junction of U.S. Route 202 and Pennsylvania Route 100. Just below, it is dammed to form the West Chester Reservoir. Flowing southward, it is dammed just above the Pennsylvania Route 3 crossing to form the Milltown Reservoir. It flows south from there to Westtown, where Goose Creek enters and the former West Chester and Philadelphia Railroad (now owned by SEPTA) runs alongside it. The stream runs easterly about two miles, then turns south and passes a large stone quarry at Glen Mills. It turns southeasterly and meanders slightly, passing through Darlington and Wawa and meeting the West Branch at Lenni.
The 9.1-mile-long (14.6 km) West Branch originates near Dillworthtown, in Chester County and flows generally eastward. Just before entering Delaware County, it is dammed to form Brinton Lake. At Markham, Webb Creek enters at the site of the historic Newlin Grist Mill. From here to Chester Heights, the creek is paralleled by the abandoned right-of-way of the Octoraro Branch, damaged in flooding from Hurricane Agnes in 1972. The creek loops southward in a deep gorge to skirt the "Heights" and comes north to meet the East Branch below Lenni.
The two branches converge between Lenni and Glen Riddle. The main stream winds southward and eastward through a rocky gorge, formerly the site of many mills that tapped its power. The Chester Creek Railroad (later the Chester Creek Branch of the Pennsylvania Railroad), built in 1869, paralleled it from Lenni to Upland, where it turned away from the creek. In 1972 the rail line was severely damaged by flooding from Hurricane Agnes.