The Piscataquog River begins at the outlet of the Deering Reservoir, a lake in Deering, New Hampshire. The river takes a winding course north, then east, then south, then east again through Hillsborough County to reach the Merrimack River in Manchester. On its way, it passes through the town of Weare, where it is impounded in two reservoirs — Weare Reservoir and Everett Lake. Everett Lake is part of the watershed-spanning Hopkinton-Everett flood control reservoir — a canal spanning the drainage divide connects Everett Lake to Hopkinton Reservoir, which impounds the Contoocook River.
The Piscataquog proceeds south from the Everett Dam along the eastern side of Weare, entering Goffstown shortly before the river's junction with the South Branch, the Piscataquog's largest tributary. From Goffstown to the river's mouth there are two small reservoirs and several additional dams, each constructed for hydroelectric power or older industrial development. In west Manchester, the Piscataquog passes under the Nazaire Biron Bridge and reaches the Merrimack River just upstream of the Queen City Bridge.