Hemlock Creek starts in Madison Township, a few miles north of the community of Columbia Hill. The creek flows southeast, paralleling Pennsylvania Route 44. After several miles, it goes into Hemlock Township. It continues to parallel Pennsylvania Route 44 as it picks up its first tributary, West Hemlock Creek, and flows into Buckhorn. It then flows southwest past Frosty Valley, where it picks up its second tributary, Frozen Run. The creek then heads southeast into Fernville, where it empties into Fishing Creek.
Hemlock Creek's main tributaries are West Hemlock Creek and Frozen Run. West Hemlock Creek also has several unnamed tributaries. Frozen Run starts in western Hemlock Township and flows eastward through Frosty Valley to join Hemlock Creek in Buckhorn. West Hemlock Creek also starts in western Hemlock Township and joins the main stem in Buckhorn.
An annual mean of 35,862.5795 pounds (16,266.9924 kg) of sediment per day flows through Hemlock Creek. Most of the sediment (30,204.9315 pounds (13,700.7265 kg)) comes from cropland. 3,004.4425 pounds (1,362.7922 kg) come from stream banks and 1,585.7534 pounds (719.2856 kg) come from hay or pastures. 547.0137 pounds (248.1212 kg) comes from low-intensity development, 332.8767 pounds (150.9903 kg) come from forests, and 127.7260 pounds (57.9355 kg) come from unpaved roads. Additionally, 55.6164 pounds (25.2272 kg) come from land in transition, 3.2877 pounds (1.4913 kg) come from grass and turf, and 0.9315 pounds (0.4225 kg) come from high-intensity development.
The watershed of Hemlock Creek is 16 square miles (41 km2) in area. Almost all of the watershed is in Columbia County, although a small area of it is in Montour County.