據《河北省縣名考源》載:“宋雍熙中,于河間縣西境置平虜砦。當時河間縣域過廣,治理為難,故置砦以守之。景德二年改為肅寧城,命名蓋取寧靖地方之義。金置為縣。”
宋雍熙二年(985年)置平虜砦,宋景德二年(1005年)置肅寧城,金正隆年間置肅寧縣。1958年并入河間縣,1962年復置肅寧縣。
1996年,全縣面積525平方千米,人口約32.1萬人。轄3個鎮、6個鄉:肅寧鎮、窩北鎮、梁家村鎮、尚村鄉、邵莊鄉、師素鄉、萬里鄉、付家佐鄉、河北留善寺鄉。縣政府駐肅寧鎮。
2000年第五次人口普查,肅寧縣常住總人口325257人,其中:肅寧鎮51419人,梁家村鎮49472人,窩北鎮34226人,尚村鄉32716人,師素鄉38014人,萬里鄉34825人,河北留善寺鄉32588人,付家佐鄉28340人,邵莊鄉23657人。
2002年,肅寧縣面積515平方千米,人口約32.67萬人。轄5個鎮、4個鄉:肅寧鎮、梁家村鎮、窩北鎮、尚村鎮、萬里鎮、師素鄉、河北留善寺鄉、付家佐鄉、邵莊鄉。共有2個社區、253個行政村。縣政府駐肅寧鎮。
2010年第六次人口普查,肅寧縣常住總人口334639人,其中:肅寧鎮65314人,梁家村鎮48257人,窩北鎮32631人,尚村鎮34268人,萬里鎮34162人,師素鄉36232人,河北留善寺鄉32887人,付家佐鄉27605人,邵莊鄉23283人。
2014年,省民政廳(冀民函[2014]20號)批復同意撤銷師素鄉,設立師素鎮。調整后,全縣轄6個鎮、3個鄉。