Johnson Creek begins near the unincorporated community of Cottrell in Clackamas County, Oregon, southeast of Gresham in the foothills of the Cascade Range, and flows generally westward about 25 miles to its confluence with the Willamette River, a major tributary of the Columbia River.