The Bull Run River begins at Bull Run Lake, a natural body of water modified slightly by the Portland Water Bureau, near Hiyo Mountain in the Mount Hood Wilderness.
Originating in Clackamas County north of Forest Road 18 (Lolo Pass Road), its unnamed headwater tributaries enter the lake.
Flowing northwest from the lake, the river immediately enters Multnomah County and continues generally northwest for about 5 miles (8 km).
Along this stretch, the river flows by a United States Geological Survey (USGS) stream gauge at river mile (RM) 20.9 or river kilometer (RK) 30.6, passes under Forest Road 1025 and Forest Road 10 and receives Blazed Alder Creek from the left and Log Creek and Falls Creek, both from the right.
Then the river turns southwest and passes another stream gauge just before entering Bull Run River Reservoir 1 at RM 15 (RK 24).
Also entering the reservoir are Fir Creek from the left, North Fork Bull Run River from the right, then Deer, Cougar, and Bear creeks, all from the right.
The Bull Run River exits the reservoir via a spillway 11 miles (18 km) from the river mouth.
Forest Road 10 runs roughly parallel to the right bank of the river from near the headwaters to Southwest Bull Run Road, near the mouth.

Entering Bull Run River Reservoir 2, the river receives Camp Creek from the left, re-enters Clackamas County, and receives South Fork Bull Run River from the left.
The river exits the reservoir via a spillway at about RM 6 (RK 10).
Below Reservoir 2, Forest Road 10 (Waterworks Road) is on the river's right bank, and Forest Road 14 is on the left.
The river flows by a stream gauge at RM 4.7 (RK 7.6) and passes under Forest Road 14 before receiving the Little Sandy River from the left at about RM 2 (RK 3).
The river then turns northwest, passes under an unnamed road and then under Southeast Bull Run Road near the unincorporated community of Bull Run, which is on the river's right, and the defunct powerhouse of the Bull Run Hydroelectric Project, which is on the left.
Southeast Camp Namanu Road runs roughly parallel to the river along its right bank from here to the mouth.
Along this stretch, the river receives Laughing Water Creek from the right and enters the Sandy River at Dodge Park, about 18.5 miles (29.8 km) from the larger river's confluence with the Columbia River.
The Bull Run River begins at Bull Run Lake, a natural body of water modified slightly by the Portland Water Bureau, near Hiyo Mountain in the Mount Hood Wilderness. Originating in Clackamas County north of Forest Road 18 (Lolo Pass Road), its unnamed headwater tributaries enter the lake. Flowing northwest from the lake, the river immediately enters Multnomah County and continues generally northwest for about 5 miles (8 km). Along this stretch, the river flows by a United States Geological Survey (USGS) stream gauge at river mile (RM) 20.9 or river kilometer (RK) 30.6, passes under Forest Road 1025 and Forest Road 10 and receives Blazed Alder Creek from the left and Log Creek and Falls Creek, both from the right. Then the river turns southwest and passes another stream gauge just before entering Bull Run River Reservoir 1 at RM 15 (RK 24). Also entering the reservoir are Fir Creek from the left, North Fork Bull Run River from the right, then Deer, Cougar, and Bear creeks, all from the right. The Bull Run River exits the reservoir via a spillway 11 miles (18 km) from the river mouth. Forest Road 10 runs roughly parallel to the right bank of the river from near the headwaters to Southwest Bull Run Road, near the mouth.
Entering Bull Run River Reservoir 2, the river receives Camp Creek from the left, re-enters Clackamas County, and receives South Fork Bull Run River from the left. The river exits the reservoir via a spillway at about RM 6 (RK 10). Below Reservoir 2, Forest Road 10 (Waterworks Road) is on the river's right bank, and Forest Road 14 is on the left. The river flows by a stream gauge at RM 4.7 (RK 7.6) and passes under Forest Road 14 before receiving the Little Sandy River from the left at about RM 2 (RK 3). The river then turns northwest, passes under an unnamed road and then under Southeast Bull Run Road near the unincorporated community of Bull Run, which is on the river's right, and the defunct powerhouse of the Bull Run Hydroelectric Project, which is on the left. Southeast Camp Namanu Road runs roughly parallel to the river along its right bank from here to the mouth. Along this stretch, the river receives Laughing Water Creek from the right and enters the Sandy River at Dodge Park, about 18.5 miles (29.8 km) from the larger river's confluence with the Columbia River.
Bull Run River (Oregon)