同治元年(1862年),太平天国后期最能打的将领、英王陈玉成命令自己的部将扶王陈得才率数万太平军精锐西征甘陕,计划开辟“第二战场”。彼时,清军主力云集东南,西北地区空虚,陈得才一路高歌猛进,并一路招兵买马,西征军的规模很快便突破了20万之众。
就在陈得才高歌猛进的时候,因苗霈林的叛变,导致庐州(今安徽合肥)失陷,陈玉成被清军俘杀,太平天国在安徽境内的据点悉数被清军拔除,太平天国的都城天京(今江苏南京)直接暴露在清军的威胁之下,湘军悍将曾国荃亲率2万湘军在天京城外之雨花台扎下大营,直接威胁着天京的安全,形势对太平天国愈加不利。
同治三年(1864年)春,清军各部开始围攻天京,天京岌岌可危,太平天国领袖、天王洪秀全遂严令陈得才率领西征军回救天京,陈得才接到命令后,随即放弃了甘陕地区的新占城池,转而率领西征军向东转战,救援天京。当陈得才所部抵达湖北、河南两省交界处的松子关时,天京便已陷落,天京城内的十余万太平军血战至最后一刻,洪秀全本人也在天京陷落前去世,算是躲过了一劫。
天京陷落的消息传到了陈得才军中,西征军将士皆惶恐不安,此时陈得才麾下的15万太平军实为太平天国最后一支野战军团。此时摆在陈得才面前有两条路,第一,再次西进甘陕,以甘陕为根据地继续与清军周旋;其二,继续执行原来救援天京的计划,争取到江南与当时尚未被清军剿灭的忠王李秀成汇合,一起扶保幼天王。忠心的陈得才最终还是选择了第二条路,西征军且战且走,不久便进抵安徽霍山黑石渡。
在这里,又一个噩耗传来,李秀成和幼天王双双被清军俘杀,支撑西征军最后的精神支柱崩塌了。与此同时,蒙古八旗名将僧格林沁亲率2万蒙古八旗精锐骑兵追击至黑石渡,以及张曜、张得胜、英翰、郭宝昌等部清军皆向黑石渡靠拢。清廷下诏以僧格林沁节制以上各路将领,僧格林沁成为了这场大战的总指挥。
同治三年(1864年)九月,清军对太平军完成了合围,15万太平军被困在黑石渡——钓鱼台——道士冲——漫水河一线,约50公里地带。当时太平军由于长期远离后方作战,补给困难,再加上天京陷落、李秀成被俘等消息导致太平军士气严重低落。不久后,僧格林沁指挥清军对太平军发起总攻,双方打的非常激烈,伤亡皆在万人以上。
僧格林沁见强攻损失大,遂改强攻为围困,陈得才组织几次突围皆被清军击退,防守东线黑石渡的太平军马融和被汪世弟阵前投降清军,驻守漫水河的祜王蓝成春也被部下甘怀德、温其玉等缚送僧格林沁乞降。僧格林沁趁机发起总攻,太平军旋即崩溃,陈得才见大势已去遂仰药自尽,是为黑石渡之战。黑石渡之战,僧格林沁一战歼灭、俘虏太平军15万人,一举摧毁太平天国最后的野战军团,黑石渡之战也是清军与太平军最后的决战,此一战彻底终结了太平天国复国的希望,而指挥这场大战的僧格林沁一时间名动天下,成为当时清廷最为依仗的军事将领,也是清廷用以制约湘军、淮军的“重要砝码”。