三河镇位于界河(今丰乐河)南岸,东濒巢湖,是庐州西南的重要屏障。该镇原无城垣,太平军占领后,新筑了城墙,外添砖垒9座,凭河设险,广屯米粮军火,接济庐州、天京,因而在军事上、经济上都居重要地位。当时太平军的守将是吴定规。10月24日,陈玉成在江苏六合接到湘军大举东犯安徽的报告,毅然决定回兵救援,并向洪秀全报告,要求调派李秀成部同往。
11月3日,李续宾率精兵6000进抵三河镇外围。11月7日,分兵三路向镇外9垒发起进攻,义中等六营进攻河南大街及老鼠夹一带之垒;左仁等三营进攻迎水庵、水晶庵一带之垒;副右等二营进攻储家越之垒。李续宾则亲率湘中等二营为各路后应。太平军依托砖垒顽强抵抗,大量杀伤敌人。湘军攻垒愈急,太平军伤亡很大,便放弃镇外9垒,退入镇内,坚守待援。
在湘军大举进攻三河镇外围的当天,陈玉成率大队赶到,驻扎在三河镇南金牛镇一带。11月14日,李秀成也率部赶到,驻于白石山。至此,集结在三河镇周围的太平军众达10余万人,和李续宾部湘军相比占绝对优势。
面对太平军援军的强大气势,李续宾的一些部将十分胆怯,建议退守桐城。骄悍的李续宾一意孤行,认为军事有进无退,只有死战,并于11月15日深夜派兵7营分左、右、中三路偷袭金牛镇。16日黎明,当行至距三河镇7.5公里的樊家渡王家祠堂时,与陈玉成军遭遇。陈玉成抓住敌人冒险出击的有利时机,以少部兵力正面迎敌,吸引敌人,另以主力从湘军左侧抄其后路。正面迎敌之太平军且战且走,将敌人诱至设伏地域。当时,大雾迷漫,咫尺莫辨,鼓角相闻,敌我难分。陈玉成主力迅速击溃了左路湘军,并乘胜隔断中、右路之后路。湘军发现归路被断,仓皇后撤,在烟筒岗一带被太平军团团包围。
李续宾得知大队被围,急忙亲率4营前往救应,反复冲锋数十次,也未能突入重围。驻扎于白石山的李秀成部,闻金牛镇炮声不绝,立即赶往参战;驻守三河镇的吴定规也率部出镇合击湘军。李续宾见势不妙,逃回大营,并传令各部坚守待援。其实这时守垒的湘军有的已经逃散,有的被太平军阻截在外,因而有7个营垒被太平军迅速攻破。接着,李续宾的大营也被太平军包围。他督军往来冲突,终不得脱,当夜被太平军击毙(一说自杀)。之后,太平军继续围攻负隅顽抗的残敌,至18日,全部肃清。这一仗,太平军一举歼灭湘军精锐近6000人,是太平天国革命战争后期一次出色的歼灭战。