It rises in two forks of similar length and size, West Fork City Creek and East Fork City Creek, in the San Bernardino National Forest. Both forks begin on the crest of the San Bernardino Mountains. The West Fork rises near Crest Summit south of the unincorporated community of Crest Park, at about . It flows south then southeast and finally south again through multiple gorges, picking up several unnamed tributaries. The East Fork begins in a fan-shaped group of gulches south of Heaps Peak and Mount Sorenson, at about . From there it runs south-southwest in a canyon past Fredalba, receiving Schenk Creek from the left near the mouth. The West Fork is about long; the East Fork stretches roughly .