《清一統志》引《魏土地記》稱:“漢高祖出于城之圍,還軍至此,六軍忻然(按,忻、欣同義),故名。”又據《元和郡縣志》,忻縣,以要塞忻口為名。境內有忻口山。東漢建安年間僑置九原縣。晉元康中年改新興郡為晉昌郡,尋復名新興郡。北魏初年別置平寇縣。
東魏天平二年(535)僑置恒州于此,后徙治今原平市境。北齊廢永安郡、肆盧縣。武成帝時平寇縣治徙今定襄縣境。北周大象元年(579)肆州治徙今代縣境。隋開皇元年(581)復置新興郡,同時置銅川縣,故治在今市區西。
唐武德元年(618)廢郡,改置忻州。八年蔚州自繁峙縣境徙治今市區西北25千米北恒州城,貞觀五年(631)徙治今河北省蔚縣。天寶元年(742)廢忻州,改置定襄郡,乾元元年(758)復為忻州,秀容縣俱屬之。
元至元二年(1336)秀容縣廢入忻州,四年復置,隸屬不改。明洪武初年秀容縣再度廢入忻州。清雍正二年(1724)升忻州為直隸州。民國元年(1912)改忻州為忻縣,屬雁門道,道廢后直屬省。
1949年屬忻縣專區,為專署駐地。1958年與定襄縣合并為忻定縣,縣政府駐原忻縣城關鎮,屬晉北專區。1961年復置忻縣,屬忻縣專區。1967年屬忻縣地區。1983年撤縣改市,稱忻州市,省轄縣級市,忻州地區代管,為地區行署駐地。
2000年6月14日,經國務院批準,撤銷忻州地區和縣級忻州市,設立地級忻州市。忻州市設立忻府區,以原縣級忻州市的行政區域為忻府區的行政區域。轄3街道、6鎮、21鄉:南城街道、新建路街道、長征街街道、董村鎮、播明鎮、奇村鎮、三交鎮、莊磨鎮、豆羅鎮、紫巖鄉、西張鄉、東樓鄉、北義井鄉、曹張鄉、高城鄉、秦城鄉、解原鄉、上社鄉、合索鄉、溫村鄉、楊胡鄉、寺坪鄉、后河堡鄉、陽坡鄉、上寺鄉、牛尾莊鄉、傅家莊鄉、下佐鄉、野峪鄉、蘭村鄉。區政府駐光明東街。
2000年第五次人口普查,忻府區總人口496608人,其中:南城街道41933人,長征街街道82615人,新建路街道59810人,播明鎮21280人,奇村鎮28760人,三交鎮3996人,莊磨鎮12439人,豆羅鎮13236人,董村鎮24581人,曹張鄉18930人,高城鄉15478人,秦城鄉22460人,楊胡鄉2948人,溫村鄉9054人,解原鄉20051人,上社鄉9109人,合索鄉9209人,寺坪鄉1226人,陽坡鄉1956人,后河堡鄉1155人,上寺鄉2122人,牛尾莊鄉2408人,付家莊鄉2681人,野峪鄉2172人,蘭村鄉16997人,下佐鄉8118人,紫巖鄉14724人,西張鄉13355人,東樓鄉18020人,北義井鄉15785人。
2001年區劃調整后,全區轄3個街道、6個鎮、11個鄉:南城街道、長征街街道、新建路街道、播明鎮、奇村鎮、三交鎮、莊磨鎮、豆羅鎮、董村鎮、曹張鄉、高城鄉、秦城鄉、解原鄉、合索鄉、陽坡鄉、蘭村鄉、紫巖鄉、西張鄉、東樓鄉、北義井鄉。