The river rises in the Cascade Range at an elevation of at Keechelus Dam on Keechelus Lake near Snoqualmie Pass, near Easton. The river flows through that town, skirts Ellensburg, passes the city of Yakima, and continues southeast to Richland, where it flows into the Columbia River creating the Yakima River Delta at an elevation of .