曹友闻,字允叔,是同庆府栗亭人,是大宋开国名将曹彬的第十二世孙。1226年曹友闻通过科举考试,高中进士,随后被任命为天水军教授。就在曹友闻前往天水军赴任的途中,成吉思汗的一支蒙古军队包围了天水军。此时,曹友闻尚未正式到任,他虽是一介文官,但祖上武将世家的血脉在身体里觉醒,他单枪匹马闯入了被围困的军城。
在军城中,曹友闻与守臣张维携手合作,共同组织兵民布防,鼓舞士气,坚决抵抗蒙古军队的进攻。在他们的带领下,天水军的兵民同仇敌忾抵御外敌。不久,传来了成吉思汗病逝于六盘山的消息,蒙古军队因此撤退,天水军得以解围。战后,四川制置司特地为 他绣制了一面“满身是胆”的大旗。
1230年7月,蒙古军队再次挥师南下,进犯蜀地。此时四川制置使桂如渊在战略上做出了错误的决定,他选择了放弃五州之地,集中力量保卫三关。这一决策导致了三关之外的地区惨遭蒙古军队的蹂躏,生灵涂炭。
曹友闻对桂如渊放弃天水军的决定感到愤慨。他知道天水军的重要性,因此曹友闻尽散家财,招募了五千名忠义之士,成功地保卫了天水军,使其免于落入蒙古军队之手。
由于曹友闻在这次防御战的战功,他被任命出守七方关,又被任命为利州驻扎御前诸军都统制,位居四川四大主力禁军之一的统帅。
在青野原之战后,蒙古的将领阔端并未放弃对四川的进攻,他转而率大军攻打大安军。曹友闻再次带领军队迎敌,凭借其出色的指挥能力,打退了阔端的进攻,因此被南宋朝廷晋升为左骁骑大将军。
1235年初,蒙古的窝阔台汗调集了五十万大军,发动了对宋朝的大规模南侵。其中,西路军由窝阔台汗的次子阔端等将领率领,直指四川。阔端的军队首先对春巩发起了攻击,并包围了天水城。曹友闻单骑夜入天水城,与守将张维等人共同筹划守城的策略。为了增强城防力量,曹友闻不惜散尽家财,招募了七千余名兵士。他与弟弟曹友万一起,先后据守仙人关、七防关、白水江等战略要塞,每次战斗都亲自冲锋陷阵,身先士卒,极大地鼓舞了士兵们的士气。
当蒙古军转而攻击阶州时,曹友闻迅速引军驰援,与敌军展开了夹击,并击退了蒙古军的进攻。随后,他驻军石门,负责扼守七防关一带,确保了这一重要关隘的安全。
1236年春,蒙古军再次南侵,一举攻下了沔州,将青野原团团围困。宋军被困其中,情况危急,急切请求救兵解围。曹友闻得知消息后,立即派遣弟弟曹友万领军抄小道直奔青野原。曹友闻亲自率领精兵紧随其后,他们与被困的守军内外夹攻,经过一番激战,击退了蒙古军,解了青野原之围。
1235年,蒙古大汗窝阔台发动了对宋朝的第一次大规模侵宋战争,其西路军直逼战略要地四川。同年十二月,蒙古军队攻陷了沔州,随后向大安地区进逼,意图进一步深入四川腹地。
面对蒙古军队的迅猛攻势,曹友闻率兵坚守仙人关,同时,他派遣部将火速前往鸡冠隘、阳平关等战略要地,进行据守部署。曹友闻的军事部署刚刚完成,数万蒙古军已经突然出现在阳平关前。在这种情况下,曹友闻下令出击,他亲自率领帐下精兵和背嵬军突出阵前,左右奔驰,以猛烈的箭雨射退敌兵。蒙古军队不甘示弱,派出万余步兵对隘口发起了猛攻。
曹友闻立即下令步骑兵直冲前去,左右夹攻蒙古军队。在激烈的战斗中,宋军英勇奋战,血战十余里,最终迫使蒙古军队败退。
1236年八月,蒙古军队攻陷了兴元府,随后便意图冲向大安。南宋制置使赵彦呐命令曹友闻前往大安地区驻守。曹友闻认为赵彦呐的战略部署有误,他指出应该将重兵驻扎在沔阳,蒙古军有了后顾之忧,才不敢入蜀。但赵彦呐并未采纳,反而一日七次持小红牌紧急催促曹友闻迅速行动。
无奈之下,曹友闻只能遵命行事,他命令弟弟曹友万和曹友谅领兵前往鸡冠隘。与此同时,曹友闻亲自挑选了一万名精锐部队,夜渡嘉陵江,秘密前往流溪沟埋伏,准备给蒙古军以出其不意的打击。九月二十二日,蒙古军队如预期般来犯,曹友万冲出阵前迎战。在激烈的战斗中,曹友万身受多处创伤,但依然坚持战斗。
此时,曹友闻也遣诸军全面迎战,并亲自率领三千精兵迅速驰往鸡冠隘。曹友万冲出鸡冠隘口与曹友闻的部队会合,内外两军皆拼死战斗,夹击蒙古军队。战斗异常惨烈,战场上血流漂杵,绵延二十里。蒙古人的营寨被连破数十个,尸体在阳平关外堆积如山。
然而,就在宋军取得初步胜利之际,天降大雨,给战局带来了意想不到的转变。西川的军队习惯以绵裘代替铁甲,此时绵裘被雨水湿透,重量倍增,严重影响了士兵们的徒步战斗能力。与此同时,蒙古将领汪世显率领大批蒙古军队蜂拥而至,他们在三泉以铁骑四面包围了宋军。
雨中的血战变得更加激烈,宋军在蒙古铁骑的围攻下,形势愈发不利。在这场决定性的战斗中,曹友闻和他的弟弟曹友万皆壮烈战死,宋军全军覆没。
南宋朝廷闻知曹友闻战死,特赠其为龙图阁学士、大中大夫,并赐庙额为“褒忠”,追赠谥号“毅节”。
曹友闻战死后,蒙古军队得以长驱直入蜀地,成都、利州、潼川三路的二十余州相继被蒙古军攻占。