遠古為梁州之域,商殷時名“濮”(即百濮),戰國時為“巴子城”曾是巴國別都,秦(公元前314年)置墊江縣。自南朝宋元嘉年間改為東宕渠郡,歷為州、郡治所。西魏置合州。宋開寶二年(969年),合州轄石照、漢初、巴川、赤水、銅梁5縣,其中漢初縣(今合川212國道線至武勝縣城一帶)轄5鄉7鎮,石照縣(今合川嘉陵江以東到岳池縣城一帶)轄4鄉9鎮。
清雍正六年(1728年),合州轄明月里、永清里、來蘇里、興仁里共4里73場鎮(其中,明月里轄區最大,轄嘉陵江以東和華鎣山地區一帶共39個場鎮)。光緒三十二年(1906年),改里甲為鄉鎮,合州行政區劃為7個鄉、7個鎮轄71場。民國2年(1913年),改合州為合川縣。以涪漢二水合流而得名。一說因地當嘉陵江與渠江、涪江三川會合之處故名。
1952年,析城關、工礦區置合川市,縣市并存。1958年撤銷合川市并入合川縣。1992年8月撤縣設市。2006年10月撤市設區!咀ⅲ1992年8月4日,民政部(民行批[1992]89號)批復同意撤銷合川縣,設立合川市。2006年10月22日,國務院(國函[2006]110號)批準:撤銷合川市,設立重慶市合川區。以原合川市的行政區域為合川區的行政區域,合川區政府駐南津街道!
1993年12月,合川撤區并鄉建鎮。1996年,全市轄6個街道(合陽城、高石坎、南津街、涼亭子、東津沱、釣魚城)、50個鎮(鹽井、草街、灘子、十塘、官渡、雙鳳、獅灘、福壽、云門、天星、高龍、大石、尖山、利澤、古樓、銅溪、油橋、張橋、渭沱、皂角、太和、龍井、隆興、木蓮、佛鹽、三廟、七間、爐山、合隆、燕窩、二郎、龍鳳、錢塘、沙魚、金子、泥溪、龍市、淶灘、碼頭、肖家、雙龍湖、渭溪、黃土、香龍、小沔、寶華、三匯、清平、土場、保合)、8個鄉(九嶺、小河、鳳山、赤水、會龍、佛門、響水、大沔)。面積2356.2平方千米,人口約149萬人。市政府駐合陽城。
1997年8月4日,重慶市政府(渝府[1997]16號)批復同意碼頭鎮政府駐地由碼頭溪遷移至古城場。1998年5月26日,重慶市政府(渝府[1998]68號)批復同意金子鎮政府駐地由金子沱遷移到大柱。1999年11月16日,重慶市政府(渝府[1999]186號)批復同意灘子鎮駐地由灘子坎遷至玉龍場。2000年6月26日,重慶市政府(渝府[2000]131號)批復同意合川市政府駐地由合陽城蘇家街31號遷至南津街中南村。
2000年第五次人口普查,合川市常住總人口1420520人,其中:涼亭子街道41528人、東津沱街道33010人、南津街街道59139人、臺陽城街道50373人、高石坎街道34691人、釣魚城街道13511人、鹽井鎮24562人、十塘鎮13288人、灘子鎮21353人、草街鎮12905人、官渡鎮16619人、福壽鎮16806人、獅灘鎮27895人、雙鳳鎮31899人、云門鎮37055人、天星鎮23576人、高龍鎮19695人、大石鎮25742人、尖山鎮25287人、古樓鎮19491人、利澤鎮25893人、銅溪鎮27011人、油橋鎮18677人、渭沱鎮29629人、皂角鎮10045人、張橋鎮9955人、木蓮鎮18527人、龍井鎮21401人、隆興鎮18696人、佛鹽鎮11530人、太和鎮36677人、合隆鎮13450人、燕窩鎮17920人、二郎鎮24345人、龍鳳鎮17631人、三廟鎮28221人、七間鎮18123人、爐山鎮11302人、錢塘鎮34290人、金子鎮22038人、泥溪鎮13384人、沙魚鎮14842人、龍市鎮35231人、雙龍湖鎮10614人、淶灘鎮13011人、碼頭鎮27177人、肖家鎮23504人、渭溪鎮31005人、黃土鎮21512人、香龍鎮37392人、小沔鎮23391人、寶華鎮18121人、三匯鎮43014人、清平鎮23732人、土場鎮18217人、保舍鎮10467人、九嶺鄉9466人、小河鄉16638人、赤水鄉10362人、風山鄉10362人、會龍鄉13920人、佛門鄉13440人、大沔鄉7691人、響水鄉10241人。
2001年,合川市將50個鎮、8個鄉、6個街道調整為36個鎮、3個街道。撤銷十塘、灘子、福壽、天星、泥溪、雙龍湖、寶華、保合、木蓮、龍井、利澤、七間、爐山、皂角14個鎮;撤銷九嶺、小河、鳳山、赤水、會龍、佛門、響水、大沔8個鄉;撤銷東津沱、高石坎、涼亭子3個街道。保留獅灘、肖家、碼頭、沙魚、香龍、渭溪、黃土、清平、土場、張橋、尖山、佛鹽、二郎13個鎮。調整3個街道、23個鎮行政區域。調整后,鄉鎮平均面積由調整前的37.7平方千米擴大至60.7平方千米,鄉鎮平均人口由調整前的2.2萬人增至3.6萬人。
2002年末,合川市轄3個街道、36個鎮,95個居委會、529個村委會。戶籍總人口150.99萬人,其中非農業人口26.32萬人。
2005年4月19日,重慶市政府(渝府[2005]77號)批復同意合川市將36個鎮、3個街道調整為27個鎮、3個街道。其中,撤銷10個鎮,新設立1個鎮,調整7個鎮、1個街道行政轄區范圍,保留19個鎮、2個街道行政轄區和政府駐地不變。具體為:撤銷渭溪鎮、黃土鎮,設立雙槐鎮;撤銷碼頭鎮,并入龍市鎮;撤銷高龍鎮,并入云門鎮;撤銷金子鎮,并入錢塘鎮;撤銷合隆鎮,并入燕窩鎮;撤銷佛鹽鎮,并入太和鎮;撤銷尖山鎮,并入大石鎮;撤銷油橋鎮,并入渭沱鎮;撤銷張橋鎮,并入南津街街道。
2005年末,合川市轄3個街道、27個鎮:合陽城街道、釣魚城街道、南津街道、云門鎮、錢塘鎮、沙魚鎮、官渡鎮、淶灘鎮、龍市鎮、肖家鎮、大石鎮、古樓鎮、三廟鎮、燕窩鎮、二郎鎮、龍鳳鎮、太和鎮、隆興鎮、銅溪鎮、渭沱鎮、鹽井鎮、草街鎮、雙鳳鎮、獅灘鎮、清平鎮、土場鎮、小沔鎮、三匯鎮、香龍鎮、雙槐鎮。區政府駐南津街道希爾安大道222號。
2006年2月23日,重慶市政府(渝府[2006]34號)批復同意合川市部分村跨鎮調整:一、將淶灘鎮的李灣村、橫梁村劃給小沔鎮;二、將云門鎮的石屋村劃給官渡鎮;三、將燕窩鎮的鳳凰村、萬壩村、鳳山居民小組、福寺村、響鈴村、大塘村劃給三廟鎮。2009年12月31日,重慶市政府(渝府[2009]199號)批復同意撤銷大石鎮、云門鎮、草街鎮、鹽井鎮,設立大石街道、云門街道、草街街道、鹽井街道;將古樓鎮龍窩村、安塘村、七間居民小組劃歸三廟鎮管轄。
2010年第六次人口普查,合川區常住總人口1293028人,其中:合陽城街道186242人,釣魚城街道47205人,南津街街道143766人,鹽井街道24680人,草街街道44237人,云門街道68698人,大石街道61426人,沙魚鎮10117人,官渡鎮24913人,淶灘鎮24431人,肖家鎮16363人,古樓鎮19447人,三廟鎮35877人,二郎鎮17295人,龍鳳鎮20334人,隆興鎮28746人,銅溪鎮29699人,雙鳳鎮33282人,獅灘鎮19375人,清平鎮21160人,土場鎮17221人,小沔鎮27154人,三匯鎮51413人,香龍鎮25006人,錢塘鎮65894人,龍市鎮56142人,燕窩鎮30424人,太和鎮66506人,渭沱鎮36068人,雙槐鎮39907人。
2011年12月5日,重慶市政府(渝府[2011]127號)批復同意調整合陽城街道與釣魚城街道部分行政區域界線。