在兩個多月的時間裏,僧格林沁尾隨撚軍之後窮追不舍,從豫西、豫中、豫東、豫南,一直追到山東,行程數千裏,所部被拖得精疲力竭,“將士死亡者數百,軍中多怨言”。僧格林沁自己也被拖得“寢食俱廢,恒解鞍小憩道左,引火酒兩巨觥,輒上馬逐賊”(《撚軍》四,第85頁)。清廷曾告誡他不能一意跟追,但剛愎自用的僧格林沁,一意孤行,仍窮追不舍。

1865年4月初。撚軍進入山東,經曹縣、定陶、城武、嘉祥、汶上、寧陽進抵曲阜。僧軍仍在後緊追。山東巡撫閻敬銘派布政使丁寶楨率本省防軍進入兗州,妄圖夾擊撚軍。為了繼續疲憊敵軍,撚軍北趨寧陽、東平,途中擊敗總兵範正坦部後,繼續北上東阿、平陰、肥城,然後轉頭南下寧陽、兗州、鄒縣、滕縣、蛘縣,經蘭山、郯城進入江蘇的贛榆、海州、沭陽。5月3日,又由邳州返回郯城,西走嶧縣,在臨城(今棗莊市西薛城)附近擊敗丁寶楨部後,北上寧陽、汶上。5月10日過運河進至範縣(今河南範縣東)南麵的羅家樓、濮州(今河南濮城)東南的箕山一帶,最後進至黃河水套地區(黃河水套是1855年黃河在考城銅瓦廂決口後在濮州、範縣以南和鄆城西北一帶形成的一個河汊眾多的地區)。隱蔽在這裏的各地起義失散人員紛紛參軍,使撚軍人數眾達數萬。然後,撚軍馳抵菏澤西北高樓寨地區,等待僧軍。而這時的僧軍已被撚軍拖得極度疲憊,僧格林沁本人也因幾十天不離馬鞍,疲勞得連馬韁都拿不住,隻得用布帶拴在肩上馭馬。

1865年5月17日,僧格林沁率軍迫至高樓寨之南的解元集地區。撚軍派出少數部隊迎戰,誘使僧軍向高樓寨地區深入。18日中午,僧軍進至高樓寨,埋伏在高樓寨以北村莊、河堰、柳林中的撚軍一齊出擊。僧格林沁分兵三路:翼長諾林丕勒、副都統托倫布等率左翼馬隊,總兵陳國瑞、何建鼇各領本部步隊為西路;副都統成保、烏爾圖那遜等領右翼馬隊,總兵郭寶昌率本部步隊為東路;副都統常星阿、溫德勒克西等各領馬隊為中路。撚軍也分三路迎戰。西路鏖戰二小時左右,撚軍稍卻。適中路撚軍已將常星阿部擊潰,便支援西路撚軍向敵人發起反擊,將西路清軍殲滅。與此同時,東路撚軍也已將敵軍擊潰。在後督隊的僧格林沁隻得率殘部退入高樓寨南麵的一個荒圩,撚軍乘勝追擊,將該圩團團包圍,並在圩外挖掘長壕,防止敵人突圍。當夜三更,僧格林沁率少數隨從冒死突圍,當逃至菏澤西北7.5公裏的吳家店時,被一撚軍戰士砍死在麥田。這一仗,撚軍全殲僧格林沁以下7000餘人,取得重大勝利。

高樓寨之戰,撚軍全殲僧格林沁的蒙古馬隊,使清軍的精銳騎兵損失殆盡。據都統成保奏稱:“我軍失利後,馬步兵勇收集無多。”(《平撚方略》卷二百三十一,第6頁)這次作戰,是撚軍在抗清鬥爭中取得的一次重大的勝利,也是運用運動戰取勝的一個典型戰例。撚軍發揮快速流動作戰的特長,牽著僧軍盤旋打轉,使其精疲力竭,同時伺機反擊,消耗敵之兵力,挫傷敵之士氣,最後在地形和群眾條件都對撚軍有利的地區,一舉全殲窮追之敵。僧軍方麵,由於僧格林沁盲目輕敵,一味窮追,後方供給不繼,部隊饑疲交加,士氣日益低落,加上得不到豫魯清軍的有效配合,成為衰弱的孤軍,最後被撚軍殲滅。