The river is formed at the west base of the San Jacinto Mountains by the confluence of its North and South forks. The South Fork flows from near Santa Rosa Summit, through Pine Meadow and Garner Valley to Lake Hemet, which holds of water. Hemet Dam was built in 1895 to supply water to the city of Hemet. Downstream of the dam, the South Fork joins the North Fork east of the town of Valle Vista near Highway 74, and the main stem of the San Jacinto River continues northwest until it discharges into Mystic Lake, a couple of miles east of Lake Perris. Overflow from the river then flows southwest, passing under Ramona Expressway and Interstate 215, and through Railroad Canyon to Railroad Canyon Reservoir, also called Canyon Lake, which has a capacity of . Downstream of Railroad Canyon Dam, the river continues flowing roughly west southwest through the canyon through the Temescal Mountains for about until it drains into Lake Elsinore. The lake usually has no outflow other than evaporation, but in years of heavy rainfall it overflows into Temescal Creek, which flows northwest to the Santa Ana River in Corona, California.