南宋末年,蒙古军大举入蜀,南宋新任四川安抚制置使余,采纳冉王进、冉璞兄弟建议,以钓鱼山筑城掩护重庆。冉王进、冉璞向余建议:“蜀口形势之地莫若钓鱼山,请徙诸此,若任得其人,积粟以守之,贤于十万师远矣,巴蜀不足守也。”这一建议,具有战略眼光。因蜀地山峦重叠,原不利于蒙古大军骑兵的行动,但当时南宋国势已困危,兵力上居于劣势地位,如赖一般山地和平地城池,不仅不足以阻挡蒙军前进,且难以持久,必须利用险要地形,屯兵积粮,才能作长远抗敌之计。冉氏弟兄的建议,是适应当时形势的。钓鱼山在合川嘉陵江、涪江、渠江的汇合处,山势高陡,三面环水,地形极为险要。余连筑钓鱼、青居、大获、天生、云顶等城。钓鱼城为核心,合川郡治移入该城,其外围的青居城在嘉陵江东岸,为其屏障,大获城在苍溪县境掩护蜀口,其他各城也和钓鱼城形成掎角之势,借以抗拒蒙军进犯。各城筑成后,都将附近郡治迁入,派得力将士主持,屯兵积粮,作必守之计。同时,余率军不仅多次打击入侵的蒙军,还不时亲自率宋军戍守实边,进攻蒙军占领的兴元(陕西汉中),致使南宋抗击蒙军的形势一时呈现好转。这些要塞式的城池构筑特点是:
全在环山相围而有峭壁悬崖,拔地而起的特高山顶上;
山顶上有较宽敞的平地,有利筑城,有利屯兵积粮,有利军民教养生息;
通路少而险,敌方无法攀越。如四川万县天生城,仅有一条通路,陡直、曲折、窄小,有一夫当关,万夫莫敌之势;
各城都在其附近山顶上,设有子城(寨),以求稳定,并分散敌进攻兵力;
各城多扼山带水,相互成掎角之势,棋布星分,如臂使指地相互策应。
因有以上特点,钓鱼等城及其附近各城塞,能抗击蒙军长达16年之久。这些发展成为要塞形式的城寨,主要是依靠山形陡峻,依山傍水,在构筑上远比一般城池简单。一般在高山所筑城寨,以石为主,并不太高。在城墙上设观察、射击设备,准备大批石弹、石块作为兵器。对主要通路则层层设防,因无法同时通过大部队,故防守极易。另在山下以石块构筑外城,主要为警戒和掩护群众耕种之需,限于山地地形,城脚下无法设护城河,但在主要方向上(敌军可能通过之地),也有广设壕沟的。
钓鱼城及各山城相继筑成后,形成四川的山城防御体系,以抗击蒙军沿嘉陵江方向向南的进攻。它是以重庆作为中枢指挥部,以合州钓鱼城作为支柱,借助长江天堑作为依托,以大江南岸作为纵深。
在前沿阵地带上,有得汉(通江东北)、小宁(巴中东)、平梁(巴中西)、大获(苍溪东南)、苦竹(剑阁北)等城。
主要防御地带以合州的钓鱼城为支柱,有赤牛(梁山西)、运山(蓬安东南)、青居(南充南)、钓鱼、蓬溪(遂宁境)、铁峰(安岳北)、云顶(成都东淮口镇附近)等城,其中以号称“巴蜀要津”的钓鱼城作为防御要点,以控制三江(渠江、嘉陵江、涪江)而屏障重庆。
后方阵地带以指挥中枢和预备队控制地域的重庆为中心,东起夔门(白帝),西至嘉定(乐山),横贯长江沿线的瞿塘(奉节东)、白帝(奉节东)、天生(万县西)、重庆、多功(重庆北)、神臂(泸州东南)、紫云(犍为东南)、凌云(乐山东)等城。其中,“重庆为保蜀之根本,夔门为蔽吴之根本,嘉定为镇西之根本”,作为依托。
在三条防线之间,有由岷江、沱江、涪江、嘉陵江、渠江与长江组成的交通网络,联结各要点与指挥中枢——重庆,结构紧密,从而结成一个完整的山地防御体系。这是在中国古代兵垒史上的防御性质的军事体系的一大创举,很值得后人赞扬和研究。
宝五年(1257),蒙古可汗蒙哥(宪宗)亲率蒙军4万,号称10万,分兵三道入蜀。开庆元年(1259),蒙军经过艰苦作战和招降,蜀地大部险要被占领,但钓鱼城岿然不动,抗拒蒙军的招降。当年夏,大败攻城的蒙军。蒙古可汗蒙哥命蒙军在涪州造浮桥,以切断南宋对合川的援军,并亲自率主力攻城。合川军民在守将王坚的率领下,多次打退蒙军进攻。钓鱼城守军在外援断绝的情况下,奋勇抗战。蒙哥在一次攻城作战中被炮石击伤,不得不承认攻击钓鱼城失败,仅留兵3000续围钓鱼城,主力转而攻取重庆。但蒙古可汗终因伤重,死于钓鱼城下的西温汤峡(今重庆市北温泉),蒙军才不得不放弃攻合川、重庆的企图,撤围北归。