秦惠文王、蜀國侯的三萬騎兵逃過馬家壩,司馬錯見這裏道彎路窄,是楚軍追來的必經之路,便率三千騎兵在這裏阻擋楚軍騎兵。司馬錯的陣勢尚未列好,昭睢便已率著大隊楚軍輕騎兵過了徊龍村,距離司馬錯不及一裏之地。昭睢一見,隨一馬當先,殺向秦軍騎兵。這馬家壩雖然地勢平坦,但場地並非很大,大隊人馬不好撕殺,楚軍大隊騎兵的優勢施展不開,就看窄路相逢勇者勝和打耐力了。司馬錯見昭睢殺來,隨縱馬揚刀,來戰昭睢。這二人槍來刀往,大戰二十回合,不分勝負。
昭睢和司馬錯,本來武功就不相上下,真可謂是棋逢對手,將遇良才。無奈司馬錯與楚懷王交戰,手掌虎口被震裂,雙臂被震傷,雖未傷及胸髒,但隻要用力過猛,雙脅便會隱隱作痛,而昭睢一支長槍,如蛟龍翻騰,越戰越勇,打得司馬錯手掌、雙脅痛楚難當,身手和力道自然遜色了好多。昭睢一見,長槍一擊,噹的一聲!司馬錯舉刀一擋,因雙臂受傷,出手乏力,隨身體一個踉蹌。昭睢一見,噹!噹!噹!三槍擊來,快如閃電,司馬錯抵擋不住,隨虛晃一刀,敗下陣去。司馬錯一敗,秦軍騎兵中無人能敵得住昭睢,隻見昭睢長槍,左挑右擊,秦軍騎兵紛紛落馬。楚軍騎兵一見,隨都個個挺槍揮刀,縱馬衝殺過來。楚軍騎兵一陣猛衝狠砍,秦軍騎兵抵擋不住昭睢及其楚軍騎兵的攻擊,終於潰敗而逃。馬家壩一戰,昭睢的楚軍騎兵又斬殺司馬錯的一千秦軍騎兵。
這時,秦惠文王、蜀國侯的騎兵已逃出西鄉邑(縣),昭睢率著的輕騎兵已追到白家壩。雖然雙方都是騎兵在奔跑,可不知怎麼搞的,秦惠文王、蜀國侯所率的騎兵就是跑得比較慢,而昭睢的輕騎兵追得則比較快,雙方的距離也就越追越近了。到了城固邑(縣),眼看昭睢的輕騎兵就要追上來了,司馬錯急率三千秦軍騎兵、二千蜀軍騎兵和五百守城的蜀軍憑著城固邑(縣)的土牆作掩護,阻擋楚軍騎兵的攻擊,並下令全軍將士‘進者生、退者死’,以死相拚,掩護秦惠文王、蜀國侯的二萬五千騎兵迅撤到褒漢(漢中市)。昭睢的大隊輕騎兵趕到城固邑(縣),看見司馬錯立馬橫刀,率著五千騎兵列於城下,嚴陣以待。昭睢見狀,隨令一萬楚軍騎兵一字擺開,衝殺司馬錯的五千騎兵,四萬楚軍騎兵,兵分二路繞過城固邑(縣)兩邊,直奔褒漢(漢中市),活捉秦惠文王、蜀國侯。
司馬錯見狀,即令四千騎兵分兩路攔截楚軍騎兵,自率一千騎兵和五百守城步軍,迎戰昭睢的一萬楚軍騎兵。司馬錯的五千騎兵攔截昭睢的五萬楚軍騎兵,以一擋十,無疑是以卵擊石,自取滅亡。雖然如此,卻能拖延些時間,好讓秦惠文王、蜀國侯的二萬五千騎兵跑遠。正是這樣,明知是死,也隻有以死護主了,這就是司馬錯的所謂棄卒保帥的妙計。在石泉縣的鼓兒坪,司馬錯的棄卒保帥妙計,一棄便使七萬秦、蜀聯軍的步兵,都成了楚軍騎兵的刀下鬼和槍下魂,所換來的是秦惠文王、蜀國侯能夠逃到這城固邑。今日又得棄掉這五千騎兵和五百步兵的性命來換得秦惠文王和蜀國侯能夠先跑出二十多裏路。哎!秦、蜀聯軍真的是兵敗如山倒,日暮途窮了。
隻見昭睢拍馬挺槍直衝過來,一萬楚軍騎兵也隨之掩殺過來,司馬錯知道秦、蜀二軍的馬、步兵中,無人能夠敵住昭睢,隻好縱馬揚刀,再次迎戰昭睢。無奈,楚軍勢大,司馬錯的一千騎兵全被衝散,隨不敢戀戰,虛揚一刀,勒轉馬頭,便敗回陣去,率著殘兵敗將退進城固邑中拒敵。可是,隻有在後麵的二百步兵和三百騎兵來得及衝回城邑,其餘的七百騎兵、三百步兵全被斬殺。昭睢並不下令攻城,而是令楚軍騎兵繞過城固邑,直取褒漢(漢中市)。司馬錯見狀,想再衝出去,拖住昭睢的楚軍,被一軍將拉住:“將軍出去,無疑是飛蛾撲火,枉送了自己的性命”。