春秋战国时期,为燕国地。
秦时,置沮阳县,属上谷郡。
西汉时分为沮阳、且居、泉上三县;东汉建武十五年(39)废且居、泉上两县,合并为沮阳县。
北齐时属北燕州永丰郡,称怀戎县。
隋废北燕州,改属涿郡。
唐属河北道妫州。
辽初(938),辽太祖改“怀戎”为“怀来”。
明永乐十五年(1417)改称怀来左卫,次年称怀来卫,直隶后军都督府。
康熙三十二年(1693)改卫为县,属宣化府;1911年属直隶省口北道;1928年归察哈尔省;1937年被日军侵占。
1938年至1948年间,晋察冀抗日政府在怀来县东南、西南、东北各边界地区与四邻县先后建置宣怀涿、龙延怀、怀涿、龙宣怀、昌宛怀五个民主联合县。
1945年9月,怀来县第一次解放,属晋察区十二专区,同年底属察哈尔省第五专区。
1946年改属冀热察区察东专区。
1948年12月怀来县第二次解放,联合县撤销。
1949年1月属察哈尔省察南专区。
1951年4月,因修建官厅水库,县治由怀来城迁至沙城镇。
1952年11月隶属张家口专区。
1958年怀来、涿鹿并为一县,称为怀来县。
1961年5月怀来、涿鹿分设。
1993年张家口地区与张家口市合并,怀来县属张家口市。