同治三年(1864年)11月,太平天国失败之后,赖文光、邱远才等人率领2000到3000人马北上于捻军张宗禹等部汇合,组成新的捻军,推赖文光为首,张宗禹等人为辅助,在河南、湖北边界聚集被打散的太平军和捻军部队。
同治三年(1864年),僧格林沁率军进攻捻军,捻军在击退清军之后,由河南境内向山东境内转移,僧格林沁一路尾追不舍。
同治四年(1865年)1月28日,捻军渡过河南鲁山的沙河后回头猛烈进攻僧格林沁的先头部队,僧格林沁部损失惨重,他本人也幸亏部下救出。2月中旬,僧格林沁的先头部队又被捻军伏击。经过两次伏击之后,僧格林沁在思想中形成了一个概念,就是捻军的力量不可怕,每次伏击都对他的部队损失较小,此后的军事行动越来越大胆起来。
捻军其实想进入陕西,被清军阻隔,在同治四年(1865年)1月底到3月底的这两个月中一直在河南兜圈子,捻军一直被清军穷追不舍。有鉴于此,捻军在三月底进入山东境内,僧格林沁的骑兵部队紧急尾追到山东境内。
其实清军一直认为,不断进攻捻军使得捻军不能召集更多的民众参加,在清军的不断进攻下,捻军的势力会逐渐缩小,从长远来看,捻军必定被消灭。
同治四年(1865年)5月10日,捻军渡过运河到达山东、河南交界地带。咸丰五年(1855年),黄河在河南考城(属于兰考县,兰考县是由兰封和考城合并而成)决口,在河南濮州、范县、山东郓城一带形成河叉地带。经过十年的沉淀,此地聚集了很多流散的农民,也有很多被打散的捻军也在此讨生活,没有活路的农民太多了。
捻军到达此地之后,该地的流散捻军、农民有几万人参加了捻军大部队,捻军的整体力量一下子到达了一个新的高度,这是清军僧格林沁是没有想到的。
在张宗禹的率领下,决定在高楼寨设伏痛击僧格林沁的部队。此时宋景诗带领的黑旗军本来和张宗禹率领的捻军汇合了,由于形势,再度分开各自发展。同治四年(1865年)初,宋景诗的黑旗军从江苏入境山东,配合捻军作战。宋景诗的黑旗军和部分捻军诱使僧格林沁进入捻军大部队的包围圈。
同治四年(1865年)5月18日,僧格林沁的部队7000多人全部进入包围圈,捻军以及配合的黑旗军全军出击。作战东中午开始,在短短两三个小时内,僧格林沁的三路人马几乎被全歼,他率领自己的督战队和残余兵力退到高楼寨南面一个土墙围起来的村庄,此地早就已经没有人能居住了,他企图固守待援。
捻军知道僧格林沁的骑兵部队移动迅速,为了防止他逃跑,开始在周围挖掘壕沟,困死僧格林沁。
5月19日晚上,僧格林沁率领自己亲卫骑兵突围,突围之中被击伤落马,自己爬到麦田之中躲避。此时正值麦子长高的季节,再有半个多月就要成熟了。
捻军开始四处搜寻逃跑的清军,少年张皮绠发现了僧格林沁,并斩杀了他,将他的官服、朝珠等带回了捻军大营。捻军首领最终确定僧格林沁确实被杀了,捻军获得全歼僧格林沁率领的骑兵部队7000人的大胜利。
僧格林沁死在了清朝腐败的国情之上,太多老百姓在死亡线上挣扎了。他根本没有料到捻军在河南濮州、范县和山东郓城一带一下子增加了几万人的部队,宋景诗的黑旗军也从江苏赶来增援,聚歼僧格林沁部队的时机已经成熟。
高楼寨之战中捻军指挥者是张宗禹,宋景诗黑旗军是配合部队,清军是僧格林沁的主力骑兵部队。
其实黑旗军和捻军是一个性质的农民起义。黑旗军咸丰十一年(1861年)3月29日起义,同治元年(1862年)前后投降了清军胜保的部队,宋景诗做了一个参将,跟随胜保的部队进攻捻军。黑旗军不愿意进攻捻军,企图拔营起义,结果没有成功,宋景诗被免去了官职。后迅速复职,被清军调往陕西镇压回民起义,调离山东、河南地界。
同治二年(1863年)12月,宋景诗率部返回山东聊城老家,继续起义。多次击败清军部队,清军此时调来了洋枪队对付黑旗军,黑旗军损失惨重,被清军尾追,最后于捻军大部队汇合。黑旗军惨败于清军和洋枪队的配合上才投奔捻军。
张皮绠是安徽涡阳人,和捻军首领张宗禹是一个地方的人,现在的安徽亳州,也即是曹操的故乡。张皮绠是被张宗禹收为捻童,应该属于捻军,黑旗军的主力人员大都是山东聊城及其附近一带的农民。
张皮绠杀了僧格林沁不久之后就脱离了捻军大部队,他的父亲、哥哥都阵亡了,他要回家继承香火。但张皮绠的名声太大了,自然不敢住在自己老家,而是搬迁到附近,改名换姓生活,娶妻生子。
同治十二年(1873年)的一天,也就是距僧格林沁被杀八年后,张皮绠一次酒后失言说出了自己杀死僧格林沁的这件事。清政府山东巡抚丁宝桢于是派人寻访张皮绠,张皮绠因此被抓,在他的家中搜出了僧格林沁的朝珠为证,在济南被凌迟处死。
西捻军首领张宗禹、黑旗军首领宋景诗到底是怎么死的是一个谜团,两个人几乎都在失败之后销声匿迹了。