The Whitefish River originates in Whitefish Lake and flows generally south until it joins the Stillwater River just before the Flathead River about east of Kalispell. The river's uppermost reach leaves the lake and flows through the city of Whitefish for . The Whitefish River has three tributaries of significance. Small Cow Creek flows southwest and discharges into the river downstream from Whitefish Lake. Next, several headwater tributaries beginning in the Whitefish Mountain Resort form Haskill Creek which flows south to the Whitefish River downstream from Whitefish Lake. The third tributary to Whitefish River is Walker Creek which begins in the southern flank of the Whitefish Range and joins the river below the Whitefish Lake outlet.