林鳳祥知道已有數路官軍前來攻擊,擔心北渡黃河受阻。他隻讓部隊休整了一天,就揮師北進,於五月十八日抵達開封與鄭州之間的中牟,距黃河不過五十裏。他另派一支部隊向西南挺進,背道而馳,以便牽製官軍,保證北伐成功。官軍行軍緩慢,給他提供了轉移的時間。
林鳳祥從中牟西進鄭州,然後繼續西進到黃河之濱的汜水,率領幾千人衝入汜水縣城。他想通過傳說中劉備、關羽、張飛大戰呂布的虎牢關北渡黃河,但是由於當地官員已經有備,實行了堅壁清野,他們雖然通過了虎牢關和老犍坡要道,控製了這一地區,卻苦於一時找不到足夠的船隻。林鳳祥叫部隊在嵩山之內征集物資,一麵向老鄉打探何處有船。林鳳祥得到高人指點,派出一支有力的部隊沿黃河向西南推進,抵達鞏縣。
官軍此時在黃河南岸已有一支勁旅趕到。來自西部省份的托明阿,加上西淩阿和善祿所部,為了加快追擊進度,將騎兵和步兵分開行軍,綏遠城騎兵及陝甘騎兵歸並黑龍江騎兵,由托明阿和西淩阿率領,走在前麵,善祿率領步兵隨後接應。
五月二十四日,托明阿的騎兵馳抵滎陽,距鞏縣約六十裏。這時林鳳祥已在汜水。托明阿率領騎兵跟追,於第二天趕到汜水縣城東,探得城內還有敵軍五六百名,托明阿和西淩阿分三路進攻。留守渡口的太平軍見官軍追到,直奔渡口,企圖上船,被官軍追殺,眼看就要亡命。太平軍忽然殺個回馬槍,從東西兩座土山內一齊撲下,開火射擊。接連三次反攻,都被官軍擊退。太平軍在這一天損失了寶貴的船隻十三艘。
這時善祿的步兵趕到,從後麵夾攻,小有斬獲。五月二十六日,官軍騎兵和步兵分路進攻,太平軍在渡口上下排列船隻抗拒,官軍用抬槍和抬炮連環射擊,又燒毀船隻十幾艘。太平軍不再抵抗,乘船啟航。有些船隻順流東下,有的船隻駛往北岸,其餘部隊向山內撤退,躲入汜水縣以西的北土山大溝。太平軍充分利用地利設立營壘,岸邊停泊著大約一百艘船隻。山路崎嶇,深溝道狹,不利於騎兵進攻,托明阿等人對此無可奈何,隻能通知河南與山東的巡撫在黃河兩岸扼要嚴防,並調兵就近渡到黃河以北堵擊。
當留守汜水的太平軍牽製著托明阿的部隊時,林鳳祥率領主力沿黃河向西南行進,來到鞏縣境內,搶奪洛河的船隻,企圖從洛河進入黃河,再行北渡。洛河在黃河之南穿過洛陽、偃師、鞏縣三縣境內,本來未設渡口。林鳳祥無疑得到了高人指點,突然從這裏搶船進入黃河,大大出乎官軍意料之外。黃河北岸的官軍兵力單薄,河岸遙長,官軍若無大批援兵趕到,林鳳祥便能順利地達到目的。北岸官軍急調柳園口等處的駐防軍,迅速開往溫縣和孟縣的渡口。
然而官軍還是晚了一步,從汜水渡河的太平軍已於五月二十六日占領了溫縣。兩天後,林鳳祥已經從洛河搶到船隻北渡,率領主力在北岸登陸。溫縣距懷慶府隻有四十裏,太平軍可入山西,也可進入直隸。但是林鳳祥又出奇兵,從汜水派一支部隊東回鄭州,於六月三日攻入密縣,第二天占領東南麵的新鄭,接著通過南固,南下許州。
林鳳祥的部隊一南一北,迫使官軍兩頭施救。他的北進部隊擺脫了河南官軍的追擊。托明阿進入汜水縣城,遙望著北岸的太平軍軍營,隻能興歎而已。林鳳祥迅速從溫縣撤出,向官軍兵力空虛的懷慶和衛輝地區推進。他們沿河向東北方急奔,抵達武陟,在司馬集遭遇鄉勇阻擊,決定暫停攻擊,進行休整。
古戰場上的新英雄
太平軍殺入河南境內,左衝右突,官軍無力遏截,開封的鄉勇卻將之擋在城外,隻得繞城而走。鹹豐接到戰報,認為鄉勇是阻擊敵軍必不可少的力量。他再次要求各省加強團練,以開封附近鄉民協助官軍沿途剿殺賊匪為榜樣。