27日淩晨,起義軍開始向山湖、湯坑方向挺進。
9月28日,葉挺、賀龍率主力部隊在離湯坑30裏的白石、分水一帶與敵正式遭遇。這裏全是高低不平的山地,起義部隊立即占領陣地,當晚兩軍有過接觸以後,起義軍獲得小勝,並捉到少量俘虜,繳到一些槍械。
次日拂曉,戰鬥再次打響,戰鬥持續了兩天兩夜。這是南昌出發以來,起義部隊經曆的最為激烈的一次戰鬥,也是決定起義軍最後成敗的關鍵一仗。
在頭一天的雙方接觸性的戰鬥中,起義軍從捉到的俘虜口中,已經知道敵軍的兵力有3個師之眾,且都是滿員的,武器彈藥充足,與起義軍這3個長途遠征損失甚大的師相比,兵員足足多一倍半,火力更占絕對優勢。指揮員們都知道這場仗不好打了,然而在兩軍對陣時,誰也不想撤退。那個時候,革命軍隊的指揮員想的都是進攻打垮敵人,認為退卻是怯懦的表現,還沒有以後那種“敵進我退”的靈活機動的戰略戰術。此時在前線負責指揮的葉挺,從保定軍校畢業後到粵軍服役及到蘇聯學習,還有北伐時所向披靡的戰鬥,都是打的正麵猛攻的正規戰,此刻他決定正麵硬攻。這種勇敢精神是可嘉的,然而在當時的情況下卻是不可能奏效的。
9月29日,起義軍以少兵攻強敵,向駐守湯坑製高點上的陳濟棠部發起了仰攻,展開了一場慘烈的戰鬥。第二十四師也是葉挺獨立團的老底子,此時雖然隻有2000多人,卻仍然充當了進攻的主力。第二十軍主要以火力支援,後來也以一部分兵力投入進攻。
向山頭衝擊的第二十四師官兵,當時仍然拿出了北伐武昌城下的傳統作風,先高呼革命口號,然後向敵人衝去。這一氣勢開始震懾住了國民黨廣東軍,尤其是薛嶽的新編第二師又是剛剛成立的,經不住起義軍衝擊。9月29日下午,薛嶽師的陣地被突破,全師官兵丟棄了前沿的山頭陣地,狼狽向後潰逃,並在起義軍火力尾隨射擊下遺屍累累。起義軍發揚北伐時猛打猛攻的傳統,跟蹤追擊,一直衝到分水坳附近。
陳濟棠此時的指揮所設在距湯坑約六七公裏的北路小高地上,清楚地看到薛嶽部隊抵擋不住而全師敗退,於是急忙命令自己的第十一師的兩個團趕到分水坳的高地上組織防禦。起義軍衝到陳濟棠的第十一師陣地前,遇上了難啃的硬骨頭。這支部隊也是北伐時的第四軍的一部分,訓練較好,在廣東軍閥部隊中戰鬥力是最強的,加上又居高臨下,數量還占優勢,自然就比較頑強。在分水坳的山頭上,雙方反複爭奪,甚至把手榴彈投過去未爆炸,對方又揀起來扔回來。第二十四師有一個英雄營長廖快虎,指揮部隊反複衝殺,手下的人打光了,他自己坐在山頭上與敵人同歸於盡。天近黑時,起義軍死傷不少,敵軍的第十一師也是傷亡慘重,又投入了一個補充團,仍然感到支持不住。此時,陳濟棠下令讓最後的預備隊——廣東軍閥的另一支主力第十三師也投入戰鬥。發現敵人越打越多,起義軍為取得勝利,隻好采取夜襲。當時任二十軍第二師黨代表的陳恭,在戰後不久的一份報告上對此次戰鬥這樣寫道:此時我軍始知敵人之兵力之較多,而火器亦極精銳,不易擊潰,遂決計舉行夜襲,令二十四師之七十一、七十二兩團兵卒,齊上刺刀,乘機企圖衝入敵陣,一麵用二十軍一、二兩師兵力在高山用極猛烈之火力為之掩護,突擊部隊以火焰為號,以圖圍繳敵械。不料衝去2小時,不特未見火焰,且我方衝去官兵紛紛逃回,問之,則謂敵軍已有準備,當我軍衝去時,彼甚為鎮靜,將我衝去之兵卒,圍住繳械。以此不願繳械之兵士,既衝鋒進,複衝鋒出,一往一返,損失非常巨大。此時,能集合兩地前進之兵力,隻有二師之第四團,為數已有限矣。戰至此,總指揮見我方一則兵力損失過多,二則全軍彈藥將罄,已無法再與支持,於是下令撤退。待退卻令下,各師查點人數,已減損一半。遂由第一師掩護,全部向揭陽退卻。