秋季八月,黄忠在秦颉的陪同下,向朱儁献谋说:“我们应当围城打援,先破城外敌营,再全力攻城。今夜我引一支军队从小路出击,袭击敌军的寨后,明公进击前寨,这样两路夹击可以生擒赵弘。”朱儁立即采纳他的建议,传令军士乘夜作战。
当夜月白风情,黄忠率领兵马走到黄巾寨后,已经半夜,突然击鼓直进,身先士卒夺门杀敌。赵弘听到喊声,慌忙上马出战,黄忠纵马冲到跟前,刀光闪处,赵弘手中长枪断为两节,吓得拨马退走,顿时营中一片大乱。朱儁已到前寨,乘机放起火来,黄巾军惊慌失措,四处乱窜。赵弘带领几名亲随向外逃走,黄忠纵马在后紧追,赵弘亲兵回头射箭,连放三箭,都被黄忠挥刀打落一旁,马蹄声中,他摘弓搭箭,将三个亲兵射下马来。赵弘乘隙纵马狂奔,看见一片树林,急忙跳下马来,隐身林中。黄忠追到林前下马,吩咐属下骑兵仔细搜查,赵弘突然从一旁闪出,挥刀劈来,黄忠大喝一声,一刀将赵弘砍翻在地,命令军土捆绑起来,押到朱儁面前。
两军战至天明,赵弘大营土崩瓦解。朱儁将赵弘斩首示众,震慑守城的黄巾统帅韩忠。同时重赏黄忠。
黄巾统帅韩忠据守宛城奋力抵御,朱儁命秦颉佯攻宛城西南角,引开东北角的兵力。准备乘隙攻城。秦颉命军土击鼓助威,虚张声势,黄忠领兵先攻,冒着箭雨奋力登上城墙,打得守敌纷纷坠落城下。韩忠发现西南角十分危急,即刻传令守兵全部赶来抵抗。朱儁一看战机已到,亲自率领精锐攻打宛城东北角,将士登上城墙进入城中。韩忠怱忙退守小城。朱儁、徐璆分兵四面围定,韩忠慌乱失措,使人出城请求投降,诸将都愿意接受,但朱儁认为如果容其投降,起不到劝善作用,使贼兵养成了得利恣意劫掠、失利便弃械投降的习性,这是纵容敌人而非良策。于是官军持续发动进攻,没有攻下,朱儁登上土山观察黄巾军的情况,发现了四面围困导致守敌齐心抵抗的原因,他随后撒除一面围兵,与徐璆、秦颉各围一方,集中兵力攻城。
韩忠看见包围解除,就带领部众出战,试图转变被动局势。南阳太守秦颉统兵会同作战,他令黄忠率领铁骑出击。黄忠当先冲到敌阵门前,径直杀向韩忠。韩忠一见来将气势勇猛壮烈,慌忙后退,左右群起力战,黄忠刀如闪电,横扫竖劈,打得黄巾将士七倒八落,四分五裂。他望见韩忠退向后面,大喊一声:“贼将休走。”迅速冲到韩忠身后,手起刀落,将他击斩马下。黄巾军失去主帅,阵势大乱,朱儁、徐璆乘机进攻,斩杀一万余人。
黄巾军退回城中,又举荐孙夏为统帅,继续占领宛城。三路将土发起猛烈攻击,朱儁部下司马孙坚率部首先登上城墙,挫动敌军士气。八月癸巳日,三军并力奋战,黄忠分攻宛城东门,率先登梯上城,杀散守兵,打开城门,迎进秦颉大队人马,攻下宛城。
孙夏望风而逃,黄忠奉命跟随朱儁追击残敌,并率兵前行,进至西鄂县的精山一带。终于追上敌军,击斩孙夏,迫使黄巾军溃败四散。朱儁大获全胜,斩杀一万多人。黄忠因功担任帐下吏。张角连接各地败报,忧虑成病,最后身亡。冬季十月,皇甫嵩在广宗击斩张梁。乘胜进军,于十一月在下曲阳斩杀张宝。黄巾军从此散落一空,消声匿迹。十二月汉灵帝大赦天下,年号改为中平元年。