The South Fork begins at Martha Lake, above sea level, near Mount Goddard in the northern section of Kings Canyon National Park in Fresno County. It flows northwest through the narrow Goddard Canyon, receiving Evolution Creek from the east, then leaves the park at the confluence with Piute Creek from the north, entering the Sierra National Forest. It then flows west, through Blayney Meadows, into Florence Lake, impounded by Florence Lake Dam. Below the dam it flows briefly north, receiving Bear Creek, before turning west again, through a wider valley past Mono Hot Springs then receiving its main tributary, Mono Creek, from the north. The South Fork enters the Ansel Adams Wilderness as it turns northwest, receiving Four Forks and Rube Creeks before crossing into Madera County. Soon after entering Madera County, it joins the San Joaquin River, in a deep granite canyon below Balloon Dome at San Joaquin river mile 334 (km 537), a short distance above Mammoth Pool Reservoir.