新石器时代就有人类活动。《禹贡》中属雍州。殷、周为西羌所居。战国至秦属北地郡。
两汉时,地居“丝绸之路”北线,用兵河西孔道。据《史记》记载,西汉武帝元鼎三年(前114年)置祖厉县(祖厉音嗟赖,以祖厉河而定名),属安定郡,治所在今县北郭城驿镇,有祖厉县故城遗址。公元前一一二年,汉武帝西巡到此。《汉书.武帝记》载;“(元鼎)五年冬十月,行幸雍,祠五畴,遂逾陇,登崆峒,西临祖厉河而还”。王莽篡汉,改祖厉县为乡礼县,东汉初,废乡礼,复为祖厉县。安帝永初五年(前111年),迁县治于今会宁县会师镇南十里铺村窝铺村民小组厉河之滨,属凉州刺史部武威郡。
三国时属魏地,隶武威郡。
魏晋以来,会宁之地陷于荒芜。西晋初废祖厉县。惠帝永宁元年(301年),凉州刺史张轨在凉州(今武威)近侧另设祖厉县,后迁县于郭城驿故地。
东晋十六国时,祖厉县前后隶属前凉、前秦、后凉、后秦、西秦5个政权。
南北朝时,北魏太延二年(436年)改祖厉县为祖居,迁址平凉境内,后在今靖远县境内置会宁县,为“会宁”县名之始。
西魏废帝二年(553年),周太祖为西魏相时,置会州会宁县,治所在今靖远县东北。《元和志》载:“后周太祖为西魏相,来巡,会师于此,土人张信謦资犒军,太祖大悦,因置州以会宁为名”。“周太祖置会宁县,属会州。”会宁县自西魏得名,至今已有1400多年的历史。北周属高平郡乌兰县。隋属平凉郡会宁县。
隋文帝开皇元年(581年)设会宁镇,开皇十六年(596年)又复为会宁县,属平凉郡,后改凉川县。
唐属会州会宁郡,所辖会宁、乌兰二县。贞观八年(634年)改会州为粟州,同年又复名会州,属关内道。玄宗天宝元年(742年),改会州为会宁郡。代宗广德元年(763年)陷于吐蕃,更名“汝遮”。
宋属会州敷川县。宋仁宗明道元年(1032年),党项人克会州,地属西夏。神宗元丰五年(1082年),收复会州,属熙河兰会路。哲宗元符二年(1099年),筑起会州新城(即今敦虾蟆古城)。徽宗崇宁三年(1104年),在州治置敷州县。宣和中(1120年)尝置刺羌城于今翟家所乡张城堡村,时称“甘泉堡”。宗靖康元年(1126年)陷于金,金即在甘泉堡置西宁县(今张城堡西宁古城)。至此,今会宁县境内同时有两县(敷州、西宁)、一州(会州)。
金属会州保川县。又置西宁县,属秦州,治所在今翟家所乡张城堡村,有西宁故城遗址。金宣宗贞祐四年(1216年)十月,升西宁县为西宁州,仍属会州,后又降州为县。宣宗兴定四年(1220年),西夏占会州。宣宗元光二年(1223年)金人收复会州。元顺帝至正七年(1347年),并县入州,属巩昌路,隶陕西行省;至正十二年(1352年),因会宁地震严重,“诏改会州为会宁州”。
蒙古太宗(孛儿只斤窝阔台)八年(1236年),蒙古军占领会州。元初,迁会州治所于西宁县。元世祖至元七年(1270年)并西宁县入会州。惠宗至正十二年(1352年),诏令改会州为会宁州。
明洪武二年(1369年)始置今会宁县,隶陕西布政司巩昌路。会宁县名从此沿用,历经明、清两代,至今600多年历史。洪武十年(1377年)降州为县,隶巩昌路。
清初隶巩昌府。
民国二年(1913年),截府留县,改属兰山道;民国十六年(1927年),废道,直属甘肃省;民国二十五年(1936年)10月,中国工农红军一、二、四方面军长征会宁会师期间,曾建县苏维埃政权;民国三十三年(1944年)改属甘肃省第九行政检察专员公署(治所临洮)。
1949年8月22日,成立会宁县人民政府,设会宁分区行政督察专员公署;9月22日,会宁分区易名定西分区,会宁为其属县;1985年8月1日,会宁县改隶白银市至今。
1950年代初,全县有5个区,81个乡。1957年,陆续撤并为3区、1镇、29乡。1958年,建立10个人民公社。
1961年,人民公社曾增加到40个。1965年,合并成20个人民公社、1个城关镇。1969年,城关镇撤销并入城关人民公社。
1973年,增设王庙、侯川、太平、青江、马路、草滩、掌里、土木、新庄、塬边10个人民公社。1976年,增设白塬人民公社。1979年,增设柴门人民公社。
1980年恢复城关镇。1983年7月,撤社建乡,城关镇更名会师镇(因1936年10月中国工农红军一、二、四方面军会师而得名),全县共建乡32个、镇1个。
2000年8月,撤销郭城驿乡,设立郭城驿镇。2001年9月,撤销河畔乡、头寨子乡,设立河畔镇、头寨子镇。
2005年1月,撤销桃花山、王家庙、塬边、掌里、青江驿5个乡,2005年9月,全县辖6个镇、22个乡(其中1个民族乡)、284个村、6个社区、2039个村民小组、29个居民小组。
2015年,撤销中川乡、汉家岔乡、刘家寨子乡、白草塬乡、大沟乡、四房吴乡、老君坡乡、平头川乡,设立中川镇、汉家岔镇、刘家寨子镇、白草塬镇、大沟镇、四房吴镇、老君坡镇、平头川镇(甘民复[2015]2号)。调整后,全县辖14个镇、14个乡(其中1个民族乡)。