據《大關縣志》:“大關以有險可守,關寨重壘,故名。”西漢建元六年(前135年)為犍為郡朱提縣地。東漢屬犍為屬國朱提縣。三國蜀漢至西晉屬益州朱提郡。東晉至南朝梁屬寧州南廣郡地。北朝周屬南寧州。隋開皇年間屬南寧州總管府轄恭州,大業年間入開邊縣,屬犍為郡。唐初屬劍南道戎州轄曲州地。唐南詔時屬拓東節度阿旁部。宋屬潼川府路烏蒙部地。
元至元十三年(1276)屬烏蒙路;至元二十一年(1284),烏蒙路屬烏撒烏蒙軍民宣撫司;至元二十四年(1287)烏蒙路屬烏撒烏蒙宣慰司管軍萬戶府。明為烏蒙府,改隸四川。洪武十五年(1382),烏蒙路改置烏蒙府,屬云南布政司;置歸化州屬烏蒙府(尋廢);洪武十六年(1383)改屬四川布政司,洪武十七年(1384)改置烏蒙軍民府。
清初襲明制,稱烏蒙土府,屬四川省。雍正五年(1727)3月,析四川省屬之烏蒙土府來屬于云南省。雍正六年(1728)2月,烏蒙土府改土歸流,是為烏蒙府,移治于土府(竇地甸)東二十里地,于大關屯地方置大關廳,設通判,屬昭通府。雍正八年(1730)7月,昭通府屬迤東道(治曲靖府)。雍正九年(1731)移大關廳通判駐魯甸,另設府同知。民國2年(1913)4月,改稱大關縣,屬滇中道。民國6年(1917)1月,從大關縣鹽井渡地方析置鹽津縣。民國18年(1929)廢道直屬省。民國31年(1942),大關縣屬云南省第一行政督察區(駐昭通縣)。
1950年4月,大關縣解放后,屬昭通專區。1960年9月13日,國務院全體會議第103次會議通過:撤銷鹽津縣,將原鹽津縣的行政區域并歸大關縣(1959年撤并)。1962年3月27日,國務院全體會議第115次會議決定:恢復鹽津縣,以合并于大關縣的原鹽津縣行政區域為鹽津縣的行政區域(1961年4月28日分治),大關原轄豆沙、柿子劃入鹽津縣。1970年,昭通專區改為昭通地區,大關縣屬昭通地區。2001年8月,昭通撤地設市,大關縣屬昭通市。
1996年,大關縣轄1個鎮、10個鄉(其中1個民族鄉):翠華鎮、上高橋回族彝族苗族鄉、青龍鄉、玉碗鄉、悅樂鄉、黃葛鄉、壽山鄉、吉利鄉、天星鄉、高橋鄉、木桿鄉。縣政府駐翠華鎮。
2000年第五次人口普查,大關縣常住總人口235802人,其中:翠華鎮26315人,上高橋鄉15255人,青龍鄉15300人,玉碗鄉12693人,悅樂鄉20436人,黃葛鄉18772人,壽山鄉23459人,吉利鄉17744人,天星鄉41029人,高橋鄉20631人,木桿鄉24168人。
2001年,全縣轄1個鎮、10個鄉(其中1個民族鄉):翠華鎮、吉利鄉、玉碗鄉、木桿鄉、天星鄉、青龍鄉、悅樂鄉、黃葛鄉、壽山鄉、高橋鄉、上高橋回族彝族苗族鄉。
2002年,吉利鄉、木桿鄉、天星鄉、玉碗鄉撤鄉設鎮(省政府2002年7月5日批準)。2002年末,大關縣轄11個鄉鎮、76個村,全縣人口總戶數5.9萬戶,其中農業戶數5.3萬戶,總人口25萬人,其中農業人口22.9萬人。
2006年,撤銷黃葛鄉,其所轄塘房村委會的唐家營、大園子、獨瓦、馬桑坪4個村民小組和永康、田元、興隆村3個村委會劃歸翠華鎮管轄,所轄塘房村委會的沙坪子、松林、黃泥坳、喜馬溪、巖口、涼水井、營盤、大毛坡、大橋、青坪、羅家灣、梯子坎、老水井、趕山坡、街口、田壩、田方石、丫口、塘房19個村民小組和新寨、太平2個村委會劃歸悅樂鄉管轄,并將悅樂鄉改設為悅樂鎮,鎮政府駐原悅樂鄉政府駐地;撤銷青龍鄉,其行政區域并入天星鎮,鎮政府駐地不變(省政府2006年1月20日批準)。
2006年,大關縣總人口25.02萬人。轄6個鎮、3個鄉(其中1個民族鄉):翠華鎮、玉碗鎮、吉利鎮、天星鎮、木桿鎮、悅樂鎮、上高橋回族彝族苗族鄉、壽山鄉、高橋鄉。共有2個居委會、76個行政村。縣政府駐翠華鎮。
2010年第六次人口普查,大關縣常住總人口263225人,其中:翠華鎮42262人,玉碗鎮14614人,吉利鎮17797人,天星鎮58221人,木桿鎮26877人,悅樂鎮32163人,上高橋回族彝族苗族鄉19401人,壽山鄉27284人,高橋鄉24606人。
2012年9月22日,省政府批復同意撤銷大關縣高橋鄉、壽山鄉,設立高橋鎮、壽山鎮(云政復[2012]73號)。調整后,全縣轄8個鎮、1個民族鄉:翠華鎮、玉碗鎮、吉利鎮、天星鎮、木桿鎮、悅樂鎮、壽山鎮、高橋鎮、上高橋回族彝族苗族鄉。
2014年,天星鎮、壽山鎮被列為全國重點鎮。