东汉朝廷惶恐不安,马上采取镇压措施,首先,汉灵帝命令各州郡在雒阳外围的八个关隘函谷、太谷、广成、伊阙、辕、旋门、孟津、小平津设置都尉,布防护卫;接着,便任命何进为大将军,率左、右羽林军屯驻都亭;朝廷还采纳了皇甫嵩和中常侍吕强的建议,解除党禁,赦免天下党人,拿出宫中藏钱和西园厩马赐给将士;另外,汉灵帝起用卢植为北中郎将,皇甫嵩为左中郎将、朱为右中郎将,各持节,调发全国精兵分击黄巾义军。
皇甫嵩与朱调发五校(既北军五校,是中央主要常备军,即屯骑、越骑、步兵、长水、射声五校尉所带领的常备兵)三河(即河东、河内、河南)骑兵,同时招募精壮之士,共计四万多人,皇甫嵩率领其中一部,共同镇压起义军。
因为朱先与黄巾军波才部作战失败,皇甫嵩只能退守长社,波才率大兵包围城,当时,城中兵少,众寡悬殊,军中震恐,所以皇甫嵩亲自出马安慰部下,并且认为“用兵有奇变,而不在兵数量多少。现在贼人依草结营,容易因风起火。如果乘黑夜放火焚烧,他们一定惊恐散乱,我出兵攻击,四面合围,田单守即墨用火牛攻燕而获胜的功劳就可以实现。”
天遂人愿,当晚大风骤起,皇甫嵩便命令将士扎好火把登上城墙,先派精锐潜出围外,纵火大呼,然后城上点燃火把,与之呼应,因此皇甫嵩借此声势,鸣鼓冲出,而黄巾义军缺乏战斗经验,惊慌散乱,被迫后撤,这时时任骑都尉的曹操也奉命赶来,于是皇甫嵩、曹操、朱合兵,乘胜追击,黄巾义军顽强抵抗,数万人战死,皇甫嵩则被封为都乡侯。
接着,皇甫嵩又和朱一起乘胜镇压了汝南、陈国地区的黄巾军,并追击波才、进攻彭脱,连连取胜,平定了三郡之地。
八月,皇甫嵩在苍亭击败黄巾卜已部,擒获卜已,屠杀七千多人,这时的张角占据广宗,控制河北腹地,卢植为宦官所诬而被召回,继任的董卓又被张角击败,于是朝廷下诏命皇甫嵩率兵进击,就在这紧要关头,张角突然病死,张梁担起守卫广宗的重任,皇甫嵩攻城是因张梁集中了精锐部队,所以未能得逞,便闭营休兵,以观其变,等到张梁被迷惑,放松了警惕。皇甫嵩立即乘夜调兵,鸡鸣时分冲入其阵,黄巾军仓促应战,张梁战死,阵亡三万多人,但是投河而死的有五万多人,而皇甫嵩焚烧黄巾辎重车三万多辆,将张角“剖棺戳尸,传首京师”。
十一月,皇甫嵩又与巨鹿太守冯翊,攻克下曲阳,杀死张宝,斩杀俘虏十余万人,皇甫嵩将十万人的尸骨筑成了“京观”,因为皇甫嵩的功绩,朝廷任皇甫嵩为左车骑将军,领冀州牧,并晋封皇甫嵩为槐里侯,食槐里、美阳两县的租税,食邑共八千户。
同年,湟中胡人北宫伯玉和先零羌起事,共拥边章、韩遂为帅,攻杀护羌校尉泠徵、金城太守陈懿,并且在公元185年,北宫伯玉等入侵三辅地区,朝廷诏令皇甫嵩回镇长安,保卫皇家园陵。
当初皇甫嵩征讨张角时,途经邺地,发现中常侍赵忠在当地的住宅超过了相关规定,便上奏皇帝予以没收,另外,中常侍张让当时向皇甫嵩索要五千万钱,皇甫嵩自然是不会给的,于是赵忠和张让就联起手来,劾奏皇甫嵩连战无功,耗费钱粮,因此灵帝听信谗言,召回皇甫嵩,收回他的左车骑将军印绶,削夺封户六千,改封都乡侯,食邑二千户。
公元1年十一月,凉州人王国包围陈仓,在此用人之际,汉灵帝又任命皇甫嵩为左将军,督领前将军董卓,各率两万士兵拒敌,董卓提出迅速进赴陈仓,认为“聪明人不失时机,勇敢的人不迟疑。现在救,城就可以保全;不救,城就会破灭。保全或破灭的形势就在此时。”
皇甫嵩却认为“百战百胜,不如不战而屈人之兵。”,拒绝了董卓的提议。
于是在公元189年,王国围攻陈仓从冬到春,已有八十多天,但由于城坚守固,最后也未能攻下,部众都疲劳不堪,只好解围撤退,而这时皇甫嵩立即起兵追击,董卓这时又劝阻道,“兵法上说,被击败的敌人,不要追赶,撤回去的部队,不要逼迫。现在,我们追击王国,是逼迫撤回的部队,是追击被打败的敌人,被围困的野兽,还要挣扎,蜂虿有毒,何况这么多人呢!”
而皇甫嵩则说:“以前我不进击,是躲避他的锐气,现在进击,是等到敌人衰弱的时候。我们进击的是疲敝的敌人,不是撤回去的部队。王国的部队,准备逃走,没有斗志。用堂堂之阵,进击溃乱之师,这不是叫做追穷寇。”
说完,皇甫嵩便独自率兵追击,而命董卓殿后,皇甫嵩连战连捷,大破王国的部众,斩杀一万多人,董卓因此又惭愧又遗憾,愈加忌恨皇甫嵩。
公元189年,灵帝病重,便任命董卓为并州牧,让他把部队交给皇甫嵩统领,而董卓不肯奉命,毕竟董卓也知道在这乱世,兵权才是最重要的,所以皇甫嵩的侄儿皇甫郦认为董卓逆命怀奸,罪在不赦,力劝皇甫嵩兴兵讨伐,而皇甫嵩则是直接将此事上奏,朝廷因此责备董卓,董卓对皇甫嵩更增怨恨。
公元190年,董卓乱洛阳后,为防后院起火,征京兆尹盖勋为议郎,皇甫嵩当时统兵三万驻扎在扶风郡,于是盖勋秘密与皇甫嵩商议讨伐董卓,但董卓同时也召皇甫嵩为城门校尉,想要寻找机会将他杀掉。
当皇甫嵩应召将行,长史梁衍劝他起兵抗拒董卓,与袁绍呼应,皇甫嵩不听,盖勋因自己兵弱不能独立,也回到洛阳,皇甫嵩一到,主管官员便秉承董卓之意,上奏朝廷,将他交付审判,想把他杀掉。
皇甫嵩的儿子皇甫坚寿跟董卓有交情,从长安跑到洛阳,投奔董卓,董卓正摆设酒宴,大会宾朋,皇甫坚寿便抢步向前,与他辩理,且责以大义,叩头落,在座的宾客深受感动,纷纷替皇甫嵩求情。董卓这才离席而起,拉皇甫坚寿和自己同坐,并派人释放皇甫嵩,任命他为议郎。后又升任御史中丞。
等到董卓被杀后,朝廷便任命皇甫嵩为征西将军,屠灭董卓宗族,这时曾有人向司徒王允建议派皇甫嵩统领董卓的旧部,并留驻陕县进行安抚,结果王允拒绝此议,不久之后就出现了李郭汜乱政,皇甫嵩又改任车骑将军,同年八月,升任太尉。十二月,因流星出现而被罢免,此后,皇甫嵩又任光禄大夫、太常等职,直到公元195年,皇甫嵩病逝,朝廷赠以骠骑将军印绶。