遼屬西京道奉圣州。元屬中書省。清屬獨石口廳。民國初年為獨石縣。1915年改沽源縣,因沽水(今名白河)發源于縣南九龍泉而得名。1948年改寶源縣,1958年并入張北縣,1961年復置沽源縣。
1996年,沽源縣面積3654平方千米,人口22.4萬,轄3個鎮、10個鄉、1個民族鄉:平定堡鎮、黃蓋淖鎮、小廠鎮、九連城鄉、長梁鄉、小河子鄉、白土窯鄉、高山堡鄉、豐源店鄉、二道渠鄉、閃電河鄉、西辛營鄉、蓮花灘鄉、大二號回族鄉。縣政府駐平定堡鎮。
2000年第五次人口普查,沽源縣常住總人口177143人,其中:平定堡鎮42804人,小廠鎮10841人,黃蓋淖鎮13602人,高山堡鄉7537人,小河子鄉12813人,二道渠鄉8430人,大二號回族鄉2502人,閃電河鄉9769人,長梁鄉9832人,豐元店鄉7838人,西辛營鄉12145人,蓮花灘鄉5358人,白土窯鄉11918人,九連城鄉16912人,沽源牧場4842人。
2001年末,全縣面積3654平方千米,人口22.98萬人。2002年,全縣轄4個鎮、9個鄉、1個民族鄉、2個牧場,8個社區、233個行政村。縣政府駐平定堡鎮。
2003年末,全縣面積3599平方千米,人口22.6萬人。2004年末,全縣轄4個鎮、10個鄉,5個居委會、233個行政村。
2010年第六次人口普查,沽源縣常住總人口174619人,其中:平定堡鎮54944人,小廠鎮10082人,黃蓋淖鎮10135人,九連城鎮13654人,高山堡鄉6322人,小河子鄉11032人,二道渠鄉8137人,大二號回族鄉2624人,閃電河鄉9155人,長梁鄉8772人,豐源店鄉7402人,西辛營鄉11138人,蓮花灘鄉4735人,白土窯鄉10127人,榆樹溝4856人,沙梁子439人,小城子631人,東大門434人。