三国时期，常山郡西南分置乐平郡，元氏县归属赵国，范围进一步缩小，郡治迁移回汉初的真定县（今正定县）。西晋沿置，统县减少到8，不过恒山仍在境内上曲阳县西北。十六国北朝各代基本沿用郡治，归属于定州，北周改称恒州。隋朝统一后，又称恒山郡，统县8，仍治真定。唐朝建立改郡为州，称恒州，唐玄宗天宝元年（742年）改州为郡又改回常山郡，下辖真定县、石邑县、行唐县、九门县、槀城县、灵寿县、井陉县、房山县、鹿泉县（756年改名获鹿县）九县。唐肃宗再废郡制时再称恒州，之后又为了避唐穆宗讳改为镇州。到北宋升为真定府，常山不再