唐宋时期,大石属绵谷县则天乡。
明置军事机构大石堡,属广元县则天乡。
1910年撤则天乡,分东境置大石乡,辖大石、三山、宽川、千金、高坑、顺坝、磁窑7堡。
1915年改大石乡为第二团区,辖大石、三山、宽川、千金、高坑5堡。
1933年7月红四方面军废第二团区,置大石板区苏维埃,属嘉陵县苏维埃。
1935年民国置大石联保,属广元县第一(城厢)区署。
1940年改大石联保为大石乡,属广元县第一(城厢)指导区。
1944年置第三(大石)指导区,辖大石、张坝、元坝等5个乡。
1950年改广元县第三(大石)指导区为大石区,分大石乡西境李家、快乐、缠龙、巷沟、大稻、莲花、张七村置金龙乡,分大石乡北境观音、石笋、东龙、西龙、生产、海棠、建设七村置龙王乡,分张坝乡新建荣山乡、太平乡。
大石区辖大石、金龙、龙王、荣山、太平5个乡。
1951年将城关区的柳林、万缘划入,1955年撤大坝区时,柳桥、元坝、杏树三乡划入,杏树乡并入元坝乡,柳林乡与鱼翅乡合并建东坝乡。
1956年撤金龙乡并入大石乡,和平乡由旺苍县划入,1958年龙王乡并入大石乡,柳桥乡并入元坝乡,太平、和平2乡并入荣山乡,万缘乡化整为零分别并入龙潭、大石、东坝乡。
1961年分大石乡北境原龙王乡重新设置龙王乡。
1985年广元撤县建市,改大石乡为大石镇,与龙王乡同属广元市市中区大石区公所。
1986年11月撤大石区公所,大石镇与龙王乡同属广元市市中区中心区公所。
1989年8月大石镇与龙王乡同属广元市市中区。
1992年9月撤龙王乡,将三颗村划入工农镇,将红岩、大光坡、前哨、冠山、石笋、高坡6村划入大石镇,属广元市市中区。
2007年1月属广元市利州区。