張寧率一千親衛離開之後,張梁和張寶隨機便展開了對那五萬士兵的爭搶,兩人的勢力相當,加之互不相讓,此事便膠著起來後來,在黃巾軍的一個副帥孫夏的調和下,張梁放棄這五萬人馬,但是占據廣宗城,而張寶則帶著十二萬大軍離開廣宗城,屯兵下曲陽,兩軍遙相呼應,互為犄角。
張角三兄弟當中,論武力要以張梁為最,但是張梁雖然武藝高強,卻是一個沒有頭腦的武夫,若是在戰場上行軍布陣,指揮一場戰鬥,張梁還可以做到勇往無懼,綽綽有餘,但是,廣宗城攻守戰已經不能單純算一場戰鬥了,而是能夠決定黃巾成敗,成為了一場戰役。指揮這樣一場戰役,而且是在黃巾之勢幾近沒落之勢,張梁便是心有餘而力不足了,因為對於戰役來說,還需要全局觀、清醒的頭腦以及善於使用計謀,這些對於張梁來說都是做不到的,所以張梁的失敗在張寶率軍離開之時就已經被確定了。
但是,張梁卻不是這樣認為的,城內有八萬大軍,而廣宗城外卻隻有六萬官軍,雖然六萬官兵經過劉備的訓練,戰鬥力在廣宗城黃巾軍之上,但畢竟兩下數量相差了兩萬人,張梁對自己充滿了信心,畢竟還有城池的優勢。
張梁在張寶走後,抓緊時間修築城池,準備各類守城器具,做好了和劉備一決高下的準備。但是,張梁等來的不是劉備,而是接替劉備執掌了六萬大軍指揮權的本該是漢末第一名將的皇甫嵩。
皇甫嵩來到之後,自然放棄了劉備的待敵生變的策略,將大營向前推進了三十裏,並派人給張梁下了戰書。皇甫嵩深知張梁的脾性,在戰書中對其極為藐視,有不屑一顧之意,惹得張梁大怒,在廣宗城門口安下大營,引軍出戰。
但是,出乎皇甫嵩意料之外的是,張梁率領的黃巾軍驍勇善戰,兩軍一場混戰之後,各自傷亡了一萬士兵,誰也沒能占到便宜。第二天,皇甫嵩關閉營門,讓士兵休息,以觀察敵軍的變化。
黃巾軍本來做好了繼續大戰的準備,卻不想皇甫嵩的大營中竟然高掛了免戰牌,隻得作罷。一天的時間很快就過去,皇甫嵩發現黃巾軍的情緒逐漸鬆懈,便趁夜部署軍隊,在清晨雞鳴之時,親率大軍突然疾馳衝向敵陣。
廝殺了一整天,待到傍晚時,黃巾軍大敗,張梁被斬首,黃巾軍三萬多人被殺,約五萬人被逼落河中淹死。張梁大軍被滅,廣宗城便成為了一座空城,皇甫嵩不費吹灰之力便將之占領。占領廣宗城之後,皇甫嵩這才從黃巾降卒的口中得知張寧早就已經護送著張角的屍體離城而去,隻得作罷。
十一月,皇甫嵩又在下曲陽進攻張角的弟弟張寶,張寶被斬殺,黃巾軍被殺、被俘共十餘萬人。靈帝聞訊大喜,立即任命皇甫嵩為左車騎將軍,兼冀州牧,並封為槐裏侯。皇甫嵩能夠體恤士兵,每次行軍休息時,總是等到營帳全部修好,他才去休息,士兵全都吃上飯,他才去吃,這一點跟劉備相同,所以才能夠所向無敵,建立功勳。