The Swan River originates in the Mission Mountans and flows north between the Swan Range and the Mission Mountain Wilderness.
The Swan originates at Gray Wolf Lake in the Mission Mountains, at 6,650 feet above sea level.Fed partly by melt from the Gray Wolf Glacier, the river descends through a short and steep canyon to Lindbergh Lake, at the base of the Mission Mountains. From there the river flows briefly east before turning north, passing Condon, flowing about 75 miles to the northern end of the valley where it empties into Swan Lake. At the north end of the 10-mile long lake, the river emerges into the Flathead Valley, where it turns abruptly west through a canyon, emptying into Flathead Lake at the town of Bigfork. Via Flathead Lake, it eventually drains to the Flathead River, a major tributary in the Columbia River system.
The river is fed by many tributaries descending from the mountains along both sides of its valley. On the west side, streams draining the Mission Mountains into the Swan River include Glacier, Elk, Cold, Jim, Piper, Woodward, Whitetail, and Porcupine Creeks. Eastern tributaries, flowing off the Swan Range, include Holland, Smith, Alder, Lion, Goat, Soup, and Lost Creeks. Below Swan Lake, the river is also joined by Bear and Mud Creeks from the east.
Montana Highway 83 roughly parallels the river from the Bigfork area to near Lindbergh Lake.