战争经过:
蒋曦兰接到属下的奏报时,手中已有两万余人的军力,但编制成分复杂,几乎没人拥有与北唐骑兵作战的经验,遂决定坚守城池,以静制动,等待更多援军。然而,梁国朝廷非常鄙夷她的避战行为,许多政敌弹劾她养寇自重。蒋曦兰面对很大的舆论压力,但对北唐骑兵又确实心里没底,遂派出自己最精锐的家丁骑兵出城去试探北唐军实力。三月十五日,梁军侦骑与北唐军前锋爆发遭遇战,梁军击退了北唐军,斩首十一级,三月十七日,蒋曦兰的家丁再次击败北唐军斥候,斩首二十六级,并抓获一名北唐佐尉,此人声称只有不到五千北唐骑兵抵达了战场。三月二十九日,梁王加封蒋曦兰为武城侯,命其出兵,在北唐军主力到达前击溃面前的敌人。
四月初五,蒋曦兰在庭山留下数千精兵防守,很不情愿地率领主力追击北唐军。在多次小规模战役中,梁军都取得了胜利,但骑兵数量太少,步兵速度又太慢,追不上北唐的骑兵,蒋曦兰一度想要返回庭山,但经部下劝说后又放弃了这个念头。四月十八,北唐军再次被击败,这一次,蒋曦兰亲率家丁进攻,斩首一百一十六级,但因步兵未能跟上而没能扩大战果。次日,姜骥率领北唐军进入松南江河谷,在谷口,他分兵一半给了王绍良,令他去山林中埋伏,自己带领军队沿着河谷北上。蒋曦兰误以为北唐军畏战撤退,慌不择路,认为这是围堵北唐骑兵的绝好机会,不能让他们离开河谷进入北唐南部高原,遂命各军放弃辎重全力追击,务求全歼敌军。四月二十三,两军隔松南江对峙,北唐骑兵顽强地打退了蒋曦兰前锋的进攻。入夜后,梁军中后军经急行军先后赶到,蒋曦兰一直将全部骑兵和自己的家丁压上,试图在主力赶到前缠住北唐军,不让他们撤退。三更后,梁军大部到齐,蒋曦兰让各军稍作休息,自领家丁在河滨袭扰北唐军,准备天亮后一鼓作气。近五更时,王绍良率两千多名精锐骑兵从后方攻入梁军的临时营地,梁军大多刚刚经过急行军,且完全没有在营地南方布防,结果完全无法组织起有效抵抗,大批士兵在睡梦中失去了生命,更多人被驱赶着进入松南江淹死。蒋曦兰在家丁的拼死保护下才逃回庭山城,身边只余下百余骑。万余梁军或死或俘,只有少量当时没有赶到战场的部队幸免遇难。
经此一战,梁军失去了野战能力,不得不眼睁睁地看着北唐骑兵在城外肆意劫掠,夺取自己后勤部队运来的辎重。到七月,庭山城中粮草不足,北唐军却可以得到后方的供给,还能四处劫掠补充军需。随着大批援军赶到,姜骥手中的骑兵接近万人。
大败的消息传回重襄,梁国朝野震惊,立刻组织军队支援庭山。在认真分析了蒋曦兰的报告后,梁国搜罗了西部所有战马,拼凑出四千骑兵,后又命刚刚在东方取胜的大将柴胜,带领其麾下八千精锐步卒奔赴西北,王子南政霖率领重襄最精锐的八千禁军一起出征。大军在全州集结,计有两万两千人,携带了大批辎重,于九月初六出发支援蒋曦兰。
姜骥得报,留下九百骑兵监视庭山,主力拔营南下迎战柴胜。九月十九,两军在庭山西南十五里处相遇。此时梁军步兵分成两队,柴胜军居左,南政霖军居右,朱乾的骑兵则在侧后方掩护,避免像蒋曦兰一样被偷袭。柴胜发现北唐骑兵后,迅速指挥他的八千劲卒列阵迎战,但当时梁军阵线并不好,右翼的禁军遭遇了一条河沟,大部分部队已经过沟,但有相当数量的士兵还没有。柴胜要求禁军马上列阵保护自己的侧翼,但南政霖认为军阵被河沟割裂,难以防守,希望柴胜军向左后方移动,为自己腾出空间,把过了河沟的部队撤回来,依托河沟防守。柴胜坚决不同意在北唐骑兵接近时变换阵型,两人争执不下,浪费了大量时间,南政霖最后决定自己把部队全部撤回河沟以南。
然而,他的撤退刚刚开始,北唐骑兵就赶到了战场。袁钰清发现梁军正在后退,立刻率领数十名家丁发起冲锋,随后赶到的北唐骑兵一齐跟上,朱乾立刻带领身边骑兵去阻击,结果被袁钰清阵斩,梁国骑兵随即失去指挥,只能各自为战。他们的战马和战技都远不如北唐军,且大部分人不会骑射,未能坚持多久就溃散了。随后,阵型不整的梁军禁军迅速在北唐骑兵的冲击下溃散,南政霖试图组织反击掩护部队过沟,亲自斩杀了袁钰清两名家丁,但很快身中十余矢而死。北唐骑兵进行了大规模的近距离骑射,拥挤在撤退人群中的梁军步战弩手完全没有时间和空间反击。随后,姜骥亲率精锐绕过柴胜方阵,绕到南边袭击梁军禁军,最终导致其彻底崩溃。柴胜指挥阵内弩手进行了反击,但未能取得什么效果。
到午时,战场上的梁军只剩下柴胜的八千劲卒。北唐对其发动了多次冲锋,均被击退,面对密集如雨的近距离骑射,梁军阵线始终不乱,少量冲入方阵的北唐骑兵也被阵内身披重甲的斧手斩杀。于是,姜骥放弃强攻,派出小股骑兵骑射骚扰,主力部队吃饭休息。梁军则一直维持着军阵,不敢懈怠。入夜后,姜骥命袁钰清、王绍良各领一千骑兵趁着夜色掩护包抄到梁军后方。
北唐骑兵一直维持着骚扰,但柴胜认为军队体力已到极限,必须抓住机会撤退,向后方可能存在的被收拢的败军或者援军靠拢。梁军一边维持着紧密的方阵,一边缓缓后退,多次打退北唐军进攻,第二天中午,体力不支的梁军队伍终于出现了脱节。姜骥立刻命令进攻,柴胜回过头来指挥反击,双方难解难分之时,袁钰清和王绍良各领骑兵从梁军背后杀到,梁军彻底崩溃,在溃退中被北唐骑兵斩杀无数,柴胜亦战死。
九月二十二,得知援军大败,蒋曦兰率领庭山守军向姜骥投降。姜骥命令降卒拆毁庭山城,并派袁钰清去运城接来昭宁公主和大批辎重财宝,随后领兵返回自己的领地西河。