牙克石市历史悠久。《盛京通志》称牙克石为扎敦昂阿,《中国历史地图集》标雅克萨。在距今6000年前的新石器时期,雅鲁河、绰尔河流域已有人类活动。
先秦,属东胡地。西汉初,匈奴击败东胡,建奴隶制政权,为左贤辖地。东汉,在大兴安岭北部深山密林中游猎的鲜卑拓跋部南迁大泽(今呼伦湖),此地为鲜卑部落领地。隋,属辽西室韦部落领地。唐,归河北道室韦都督府管辖。辽,大兴安岭以东地区归上京道东北路招讨辖,岭西地区由乌古敌烈统军司辖。金,岭东归蒲与路辖,岭西归东北路招讨司辖。元,实行领户分封制,岭西为合拙·哈萨尔封地,岭东为合赤温·额勒赤封地。元至元十五年(1288年),诸王封地纳入行省,岭西归岭北行省和林路辖,岭东归中书省泰宁路辖。明,岭西归努尔干都司斡难河卫海刺儿千户辖,岭东归卓尔河卫辖。清,岭西归呼伦贝尔副都统衙门辖,岭东归布特哈总管衙门辖。雍正十年(1732年),索伦(鄂温克)等民族从大兴安岭以东布特哈地区迁至呼伦贝尔草原,建索伦左、右两翼八旗,左翼四旗驻牧在通俄罗斯道路边境一带,大兴安岭以西地区为辖地。同年,清政府加强边防统治,在齐齐哈尔至呼伦城设10台(境内设5台)。光绪二十九年(1903年),中东铁路通车营运,在巴林至牙克石间建10个火车站。此后,人口渐增,聚成村落。
1912年,岭西归呼伦贝尔地方自治政府辖,岭东归布西设治局辖。1920年,岭西归呼伦贝尔道尹公署辖,岭东归西布特哈总管公署辖。1929年,岭西归呼伦贝尔市政筹备处辖,岭东归雅鲁县辖。
1931年,九·一八事变后,日本侵略军占领东北,建满洲国。东北划19省,牙克石境内大兴安岭以西地区归兴安北分省辖,岭东归兴安东分省辖。
1934年,岭西归兴安北省索伦旗辖,岭东归兴安东省布特哈旗辖。
1936年,索伦旗设牙克石街。
1945年10月,日本侵略军投降后,牙克石街由索伦旗划出,建街公署,直属呼伦贝尔自治政府管辖。
1946年8月,建中国共产党领导下的人民民主政权—牙克石街政府。
1947年5月,内蒙古自治联合政府成立,岭西归呼伦贝乐盟政府,岭东归纳文慕仁盟政府。
1949年4月,岭东归呼伦贝尔纳文慕仁盟布特哈旗,岭西归索伦旗。
1949年10月1日,中华人民共和国成立。1950年1月,以牙克石街为基础,划出索伦旗所辖扎罗木得努图克、免渡河努图克,布特哈旗所辖博克图努图克,成立喜桂图旗人民政府,隶属呼伦贝尔纳文慕仁盟。
1953年4月,喜桂图旗隶属内蒙古自治区东部区行政公署。
1954年4月,喜桂图旗隶属呼伦贝尔盟。
1955年1月,喜桂图旗人民政府改称旗人民委员会。
1958年10月,旗人民委员会与大兴安岭林业管理局合并,称喜桂图旗大兴安岭林区人民政府。1962年8月,复称喜桂图旗人民委员会。
1967年12月,成立喜桂图旗革命委员会,隶属呼伦贝尔盟革命委员会。
1969年8月,喜桂图旗随同呼伦贝盟划入黑龙江省。
1979年7月,划回内蒙古自治区。
1980年1月,撤喜桂图旗革命委员会,建喜桂图旗人民政府。1983年10月10日,经国务院批准,撤喜桂图旗人民政府,建牙克石市人民政府,1984年1月1日,正式实行市建制。
2000年,全市总面积27540平方千米。总人口405403人,其中农业人口15750人,非农业人口386672人;少数民族人口40005人,其中蒙古族17588人,回族6622人,鄂伦春族130人,鄂温克族425人,其他少数民族15260人。辖15个镇、6个街道,即牧原镇、免渡河镇、乌奴耳镇、博克图镇、巴林镇、绰源镇、塔尔气镇、煤田镇、乌尔其汗镇、原林镇、库都尔镇、新帐房镇、西尼气镇、图里河镇、伊图里河镇、胜利街道、红旗街道、新工街道、永兴街道、建设街道、暖泉街道。
2001年10月,国务院批准撤销呼伦贝尔盟,设立地级呼伦贝尔市,牙克石市隶属呼伦贝尔市。撤销西尼气镇、新帐房镇,并入图里河镇;撤销原林镇,并入库都尔镇。调整后,全市辖6个街道、12个镇:胜利街道、红旗街道、新工街道、永兴街道、建设街道、暖泉街道、牧原镇、免渡河镇、乌奴耳镇、博克图镇、巴林镇、绰源镇、塔尔气镇、煤田镇、乌尔其汉镇、库都尔镇、图里河镇、伊图里河镇。2001年末,全市总人口404524人,其中农业人口15441人,非农业人口386697人。
2006年,撤销牧原镇,将牧原镇原管辖的行政区域288.8平方千米和免渡河镇原管辖的行政区域33.8平方千米合并设立街道办事处;撤销乌奴耳镇,将其原管辖的行政域整建制和原牧原镇原管辖的行政区域并入免渡河镇;撤销塔尔气镇,将其原管辖的行政区域整建制并入绰源镇;撤销伊图里河镇,将其原管辖的行政区域整建制并入图里河镇;撤销巴林镇,将其原管辖的行政区域整建制并入博克图镇;撤销煤田镇,将其原管辖的行政区域整建制和牧原镇的1814.9平方千米并入乌尔其汉镇。
2011年,恢复乌奴耳镇、塔尔气镇、伊图里河镇。
2016年4月,撤销东兴街道办事处设置牧原镇。2017年撤销巴林便民服务中心、煤田便民服务中心。调整后,全市辖6个街道、10个镇:胜利街道办事处、红旗街道办事处、新工街道办事处、永兴街道办事处、建设街道办事处、暖泉街道办事处、牧原镇、免渡河镇、乌奴耳镇、博克图镇、绰河源镇、塔尔气镇、乌尔其汉镇、库都尔镇、图里河镇、伊图里河镇。