The river originates at the south end of the Shepaug Reservoir in the town of Warren. The reservoir is fed at its northern end by the West Branch Shepaug River and East Branch Shepaug River. The Shepaug runs south through Washington, Roxbury, and Southbury, where it joins the Housatonic River at Lake Lillinonah () dammed by the hydroelectric Shepaug Dam. The river's watershed area comprises approximately , which encompasses the towns of Cornwall, Goshen, Torrington, Warren, Litchfield, Washington, Morris, New Milford, Roxbury, Bridgewater, and Southbury.
