Collectively Muskego has over 3000 acres of public surface waters which cover 14% of the community. Little Muskego Lake, which covers 506 acres, is located in the north-central part of the City. Big Muskego Lake is a shallow 2,260-acre lake that covers a large area of the central and southeastern portion of the City. Bass Bay is a 100-acre water body connected to the northwest shore of Big Muskego Lake. Lake Denoon, covering 162 acres, is situated in the southwestern portion of the City and is also partially located in the Town of Norway.
There are several significant tributaries in the community. Jewel Creek flows from Linnie Lac in New Berlin into Little Muskego Lake. Muskego Creek (also locally known as Pilak Creek), carries water from Little Muskego Lake into Big Muskego Lake. Muskego Canal exits Big Muskego Lake and drains to Wind Lake. Tess Corners Creek is located in the northeastern part of the City and flows into the Root River. Numerous smaller lakes, ponds, and streams are distributed throughout the community.