钓鱼城原为钓鱼山。在重庆市合川区嘉陵江南岸,地方不大却易守难攻。传说有一巨神在这钓嘉陵江中的鱼,以解一方百姓饥馑,山由此得名。钓鱼城峭壁千寻,古城门、城墙雄伟坚固,嘉陵江、涪江、渠江三面环绕,俨然兵家雄关,是驰名巴蜀的险地。特别是钓鱼城修建在钓鱼山山顶上,山顶比较平坦,四面都是近乎垂直的陡峭山崖,城墙城楼便建在陡崖边缘。王坚充分利用陡峭的山崖,用条石修建环山城墙,修建之地皆是选择了易守难攻地带,城门手法也是采用双层条石的拱券结构,抗击打能力强不易垮塌。同时又利用山势以植被为掩护修建了飞檐洞,皇洞等暗道,便于偷袭敌军。此外钓鱼城外还修建一字城墙,将环形山城与嘉陵江,渠江的南北水军码头联系在一起形成完善而立体的防御,既可以固守城池,也能利用强大的水军封锁江面,防止蒙军顺江而下攻击重庆再度出现曹友闻当年的悲剧,同时又可以保证山城与外界的联系。城中的百姓,春季下山耕种,秋季收粮运薪,储备了大量的粮草物资。打仗的时候军队守城,民众后勤,城内有器械作坊,练兵场,帅府衙门,大小天池等。这些建设成果使钓鱼城不会因蒙军长期围困而缺乏物资、为长期防守提供了物质与精神保障。隔年正月,蒙哥在青居城整顿大军,正式开始攻打钓鱼城。蒙哥先是派遣大宋降将晋国宝前往钓鱼城招降。王坚拒绝投降,晋国宝在返回复命时被宋军抓住。王坚为鼓舞钓鱼城军民抗战,痛斥晋国宝叛变行为,随后斩杀晋国宝。这一杀彻底打响了宋蒙决战。二月初,蒙哥大军逼近钓鱼城,主力从鸡爪滩渡过渠江抵达钓鱼城外的石子山扎营。蒙哥手下汪德臣在西面驻扎,史天泽大军驻守在东山至嘉陵江沿岸地带,此时王坚三面被围,十多万大军将钓鱼城围的水泄不通后蒙哥下令对钓鱼城发起猛攻。史天泽和汪德臣合力率大军对钓鱼城南面水军码头发动攻击,其他各部蒙军在钓鱼城四周也同时发起进攻蒙军在几日苦战后攻破了钓鱼城一字城墙的西城墙,进而占领南面水军码头南部外城,宋军损失惨重几百艘战舰不是被毁便是被俘。八日,汪德臣开始猛烈攻打镇西门。镇西门所在的山崖垂直只有十几丈高,只有一条山路通向钓鱼城,但由于山崖陡峭,蒙军仰攻极其困难,钓鱼城守军居高临下,死在宋军箭雨炮石之下的蒙军不计其数。蒙军惨烈攻击一个月,只攻占了南部一字城墙的东西城墙以及护国门前面的一片山坡。然后被蒙古大军重点攻击的镇西门却岿然不动。原本在蒙哥预想中几日便能拿下的小地方一下拖入了鏖战,从三月开始,蒙哥命令大军同时对东新门,奇胜门,镇西门和小堡发起更加疯狂不计牺牲的猛烈进攻。钓鱼城四面强敌黑云压城,城内军民同仇敌忾齐心协力主将王坚和副将张珏更是毫无畏惧从容应战。主攻方的蒙军由于山崖太高炮矢不可及,梯冲不可接,只能徒手攀岩,冒死将木梯运上山崖。但是让蒙古大军绝望的是在大多地方这种轻便的木梯无法抵达城墙顶部蒙古大军根本上不去。于是蒙古将士不断寻找有利位置想方设法架设木梯,而宋军将士则是一劳永逸用钩枪钩翻木梯,又不断发射箭雨擂石攻击陡坡上的蒙军。宋军的擂石呈现规则球形,投下去之后能在山崖的斜坡上不断弹跳翻滚,对后方的蒙军造成非常致命杀伤,这也导致蒙古大军每次攻城都需要留下漫山尸体作为代价。到三月底,久攻不落的钓鱼城一片死绝,也是在此时蒙古汉将千户董文蔚以钓鱼城东新门为攻城突破口发起猛攻,钓鱼城军民与之展开殊死搏斗,董文蔚险些丧命,宋军将士顽强的坚守取得了保卫东城的胜利。至此蒙军三月的攻势再次以惨败收场。两个月攻城蒙军死伤惨重,这是所有人都意料不到的结果,蒙哥的脸黑到像是从泥潭里刚扯出来一般难看。四月起,钓鱼城开始雷雨大作,而蒙军却诡异般停止了进攻。蒙军开始在奇胜门背面平缓的城墙下悄悄开挖地道。大雨一连下了二十多天。大雨方停,蒙哥改变策略,采取夜袭战法。深夜。蒙军先锋大将汪德臣,率领蒙军精锐悄悄运动到护国门下,随后对护国门展开猛烈攻击。护国门是整个钓鱼城城门中最为雄险的一门。护国门地势险要,旁边山崖五十余丈高、不算陡坡,只是垂直陡崖就有十多米高。唯一进出护国门的道路便是山上军民在陡崖上凿洞架设可拆卸栈道、栈道平时供军民出入,战时拆掉栈道无路可走。另外宋军在护国门东下一百米处的城墙下还修建一处飞檐洞,此洞身原属于山顶岩石一处天然裂缝,裂缝幽深,依靠密集植被隐秘洞口,攻防价值极为突出。在王坚指挥下军民合力于裂缝上修筑了一处城墙,让此裂缝变成一个洞口,洞深十丈,仅容单人通过的隐秘暗道。此时汪德臣猛烈攻打护国门,形势危急,王坚调兵遣将从正面居高临下猛烈还击,蒙军苦于鏖战也是一心不退势必拿下护国门,危机时刻王坚派遣五十勇士从飞檐洞出城,在蒙军背后杀出。黑夜之中宋军五十勇士在护国门外的狭小地带与蒙军短兵肉搏,这一从天而降的神兵让汪德臣的这支蒙古奇兵遭受重创,被迫退出外城。几日后,蒙军再度重卷而来,汪德臣率领大军夜袭奇胜门,这次夜袭让王坚猝不及防汪德臣几乎得手便要一举拿下奇胜门。汪德臣率领蒙军登上了奇胜门的城墙,王坚亲率敢死队与蒙军展开搏杀,蒙军再次败退。蒙古大军多次猛烈攻打钓鱼城三个月,死伤惨重毫无进展。而远在临安的赵昀收到这一捷报也是下诏褒奖王坚的卓越战绩。五月,蒙哥锲而不舍继续猛攻钓鱼城大量蒙古千户战死城下,随着天气越发炎热,南方夏天的潮湿酷热开始对蒙古大军产生致命影响。蒙军中开始流行痢疾,霍乱,战斗力大大减弱。而反观钓鱼城这边经过几个月的苦战,守城军民不仅没有颓废反而士气越发高涨。不仅打赢了守卫战,尚不觉得过瘾的宋军更是在王坚指挥下,作战灵活,频繁出城夜袭蒙军,使得蒙军士气大为低落。特别是五月中旬一次,王坚率军从皇洞悄悄出城奔袭几十里夜袭蒙古大营。王坚身先士卒,在蒙古大营杀出一条血路,直扑蒙哥寝帐。蒙古大军一时无法调遣,紧急之下,木花里,阿塔赤,塔海等蒙古大将率领众侍卫拼死护驾才拦住了杀红眼的王坚。随后在蒙古先锋大将阿哥潘率军及时赶到后王坚又与其展开近身格斗,宋军勇士近百人战死,而失去击杀蒙哥的最佳时机已过,王坚于是率领敢死队边杀边走,退回城中。王坚此次夜袭大大出乎蒙军意料,以至于保护蒙哥安全的侍卫队毫无防备仓促应战死伤惨重,蒙哥不得已更是被迫连夜转移驻地。此次夜袭之后,蒙军将士夜不能寐军心涣散士气低落,再这样下去恐怕便要不战而溃了。蒙哥心怀不安召集众将士商讨对策。史天泽建议暂缓进攻,其中一人也是建议留少量兵力佯攻钓鱼城而主力迂回夔州,沿长江而下与忽必烈会合进攻临安。蒙哥听后均不采纳,拒绝退兵,作为长生天的上帝之鞭,他的骄傲不允许自己退兵。休整数日后,一个夜晚汪德臣率领偷袭部队通过早早挖好的地道进入的钓鱼城外城马鞍山。蒙军的突然出现让守城军民措手不及,作为马鞍山的部落百姓马鞍寨寨主反应过来后率领民众不顾生死为自己的土地而战。此时汪德臣的增援部队通过云梯源源不断爬上城墙进入外城,在不断的激战中,驻守此地的马安寨军民以及马鞍寨寨主以下全部战死。随后汪德臣开始猛烈攻击马鞍山内城城墙,此段城墙几乎就是建立在平地上,易攻难守,如果此处城墙被汪德臣攻破,那么钓鱼城将城破人亡。情况万分危急,此时王坚率领的援军赶到奋起反抗,期间,王坚拼死抵抗身负重伤,指挥权移交副将张珏。张珏接下指挥权,同样宁死不退,鏖战多时由于蒙军的云梯折断,后续援军无法及时赶到汪德臣无奈在凌晨时分退兵离去。此时距离蒙哥攻打钓鱼城已经过去小半年,这一日早上蒙哥亲自前往马鞍山制高点督战。由于昨夜史无前例的推进汪德臣显得信心满满,加上蒙哥亲自督战他雄赳赳气昂昂单骑来到钓鱼城内城城墙下对着王坚高呼劝降。他告知王坚只要早日投降,城中军民性命无忧。面对劝降王坚只是呵呵冷笑,随后看准汪德臣命令部下在城上扔下一片擂石一举击中汪德臣,汪德臣身负重伤躺在地上哀嚎不断不久便死去。