吳軍與楚軍剛一交戰,孫武就指揮吳軍佯敗後撤,從小別山到大別山,孫武指揮吳軍邊打邊退,引誘楚軍一直追到了預定的決戰地--柏舉。這一年的十一月十九日,當吳軍與楚軍在柏舉列陣對峙,準備決戰時,隨軍作戰的吳王闔閭對於決戰時機是否成熟突然產生了懷疑。這時,闔閭的弟弟、吳將夫概認為,此時吳軍士氣旺盛,而楚軍一直處在勉強應戰的地位,而且楚令尹囊瓦一向不得人心,如果這時發起進攻,楚軍必然潰逃,那時吳軍再以主力投入戰鬥,必將大獲全勝。但是,吳王闔閭仍不同意發起進攻。
夫概以孫武十三篇兵法所言“料敵製勝……上將之首也……戰道必勝,主日無戰,必戰可也”(《孫子兵法·地形》)為依據,認為做屬下的應把握時機,伺機而行。於是,夫概率領自己的五千人馬向囊瓦的軍隊發起了猛攻。孫武見夫概已率先發起猛攻,便趕緊抽調三千多名精兵增援夫概,同時調集主力隨後掩殺楚軍。楚軍一觸即潰,主力隨之大亂。孫武及時指揮吳軍全部兵力投入戰鬥,大敗楚軍。楚令尹囊瓦棄兵逃奔到鄭國,史皇等人戰死。柏舉決戰以吳勝楚敗而告結束。囊瓦所屬殘軍戰敗後,由蘇延率領向郢城方向潰退。孫武指揮吳軍實施戰略追擊,到清發水(即漢水)追上了楚軍。
吳王闔閭正要下令攻擊,吳將夫概又以孫子兵法所言的“半渡而去之”來阻止了闔閭。闔閭接受了夫概的建議,待楚軍半渡清發水時,才發起攻擊,因而大敗楚軍。楚將蘇延率領殘兵敗將馬不停蹄的西逃,而連連獲勝的吳軍亦在孫武的指揮下緊追而來,吳軍在雍地區追上了楚軍,將囊瓦的餘部徹底擊潰了。這時,孫武向西望去,隻見漢水繞城而還,渡過漢水,郢都就近在眼前了。然而,就在這時,楚軍右司馬沈尹戌率軍南下馳援,趕到了雍地區。原來,沈尹戌從郢城外調出楚軍主力後,依先前商定的作戰計劃率軍抄襲吳軍的後路。途中,他得知了囊瓦率軍貿然渡河決戰的消息後,臨時改變計劃,想率軍南下,以便搶在吳軍前麵守備郢城。
在距離郢城不遠的地方,兩軍相遇。雙方在這裏展開了激烈的戰鬥。吳軍士卒身陷死地,拚死作戰;楚軍在沈尹戌的指揮下,也挺戟揮戈,浴血奮戰。雙方經過三場激烈的戰鬥,最終吳軍獲勝,楚軍主帥沈尹戌陣亡,屬下大敗而逃。這一仗結束後,吳軍已基本消滅了楚的主力,攻陷郢都可以說已是毫不費力的事了。
十一月二十九日,闔閭、孫武、伍子胥率領吳軍攻陷了郢都。吳王終於實現了破楚入郢的夙願。孫武指揮的這場破楚入郢之戰,曆史上亦稱之為“柏舉之戰”。
在這場戰爭中,由於孫武事先創造了大舉襲楚的有利條件,選擇了有力的進攻方向,成功地避開了“攻城”這一最大的難關,因而能使吳軍最終得以順利進入郢都,取得了戰爭的勝利。