關羽大軍未能第一時間拿下巫縣,進擊江陵,等到在巫縣建立了營壘,收割了部分秋糧,準備留兵監視巫縣之兵,主力繼續東進時,漢軍卻早已在長江沿岸做好了充分準備,關羽頓時陷入了進退兩難的困境。
而進攻武關的張飛在輕取商洛,將戰線往前推進了數百里之后卻也在武關之下碰了壁。向寵、申儀據守險要,不與張飛交戰,張飛連日進攻不利,頓時焦躁無比。
這日,張飛復又在漢軍營寨之前飲酒辱罵,向寵、申儀只是不理。張飛從早喝罵到晚,不由得疲困非常,見向寵并不來交戰,只得悻悻不已地回了營,當日將帳下幾個健卒鞭撻了一通,出了胸中悶氣,隨后自去睡覺。
然而等到了五更時分,忽聽營外轟隆之聲不絕,俄而地動山搖,宛如有史前巨獸往蜀軍營寨沖來。
張飛雖在宿醉之中,但身為武者的直覺卻也察覺到了極端的危險,當下豁然起身沖出營帳,望著營外道:“哪里來的巨響?”
左右士卒皆不能答,張飛正要派人查探,就見武關山上涌來滔天洪水,迅猛無比地往蜀軍的營壘沖來。
張飛大驚失色,當下急忙揮軍撤退,卻又哪里來得及?洪水到處,蜀軍營寨頓成澤國,營壘盡被沖毀,兵馬皆被沖走,一時間人喊馬嘶,哭叫不絕。
卻原來是五六月時,劉賢和龐統察覺到劉備可能會出兵進擊荊州,因此暗命向寵以修筑水渠抗旱為名,在武關之外的群山之間秘密開挖蓄水池和溝渠。五月、六月、閏六月的大旱過后,七月卻連續下了幾場大暴雨,將蓄水池的水裝滿了。向寵派兵封鎖了蓄水池,不許人上山。同時沿山設立營壘,占住險要,只給張飛留下了漢軍故意留給他的唯一一處合適的立營點。
張飛領兵到來,果然落入漢軍的算計。向寵又等了數日,待張飛的后軍到達之后,這才趁夜掘開蓄水池,一舉放水,造成山洪,沖擊張飛的營寨。
任憑張飛有萬夫莫敵的勇猛,但面對山洪那排山倒海一般的威勢時卻也是束手無策。洪水來得快,去的也快,但卻席卷萬物,洪水所過,蜀軍的營寨頓時被沖的干干凈凈。截至洪水退去,向寵、申儀揮軍追擊,只見沿途一片狼藉,蜀軍淹死的、撞死的、踩死的極多,僅只入目所見的便不下三四千人。
向寵、申儀領兵急追,抓捕幸存散落在沿途的蜀軍,截至追到商縣時,居然抓捕了七八千人。
此時張飛已經率領著殘兵敗將退入了商縣,正豎旗招納散兵,已經聚起了六七千人,可惜這些散兵卻都丟棄了兵器鎧甲,如今手無寸鐵,士氣萎靡,根本全無戰斗力。
向寵、申儀當下分兵圍了商縣,堵住城門攻打,又派出一千兵馬躲回了上雒。
張飛在商縣十分困頓,欲要守城,但城中卻無糧草和守城器械,欲要出城交戰,士卒又無兵器甲衣,無奈之下只得命士兵拆了城中百姓的房屋,取木石來守衛城池,又強征百姓的糧食充作軍糧,這才堪堪穩住了局勢。