在安禄山带叛军南下危急的时刻,首先起来打击叛军的是常山(今河北正定)太守颜杲卿。
颜杲卿本来是安禄山的部下。安禄山发动叛乱以后,颜杲卿就准备反抗。叛军到了藁城(在今河北省,藁音ɡǎo)的时候,颜杲卿已经招募了一千多名壮士。他知道自己力量不够,不能跟安禄山硬拼,就跟手下的官员袁履谦向叛军假投降。安禄山仍旧让他守常山,但是心里不放心,一面把颜杲卿的儿子、侄儿带到军营里做人质,一面派了一个叛将守在井陉关(在今河北井陉)。
安禄山渡过黄河,攻下洛阳之后,颜杲卿决心起兵,他的堂弟平原(今山东平原)太守颜真卿也招募了一万多人马,派人跟颜杲卿联络,要他攻占井陉关,截断安禄山的后路。
颜杲卿打听到守井陉关的叛将是个糊涂的酒鬼,就假传安禄山的命令,派人带了美酒好菜去慰劳他,等叛将喝得酩酊大醉的时候,把叛将杀死,占领了井陉关。唐军士气振奋,第二天又接连活捉了两名叛将。颜杲卿派人分头到河北各郡去告诉官吏说:现在朝廷派出三十万大军讨伐安禄山,已经出了井陉关,早晚就到河北各郡了。受安禄山胁迫叛变的,趁早投降,可以受到重赏;如果顽抗,罪加一等。
河北各郡官员一听到安禄山站不住脚,都纷纷响应颜杲卿。河北二十四个郡,有十七个郡又站到唐军一边来。
安禄山正准备向潼关方向进兵,一听到河北各郡都响应颜杲卿,后方不稳,只好改变主意,回到洛阳。他在洛阳自称大燕皇帝,派大将史思明、蔡希德各带一万人马分两路攻打常山。
颜杲卿虽然打了几个胜仗,但是起兵只有八天,常山周围的防御工事都没修好,兵力又少,无力抵抗。叛军到了常山城下,颜杲卿派人到太原去求援,但是太原守将王承业不肯出兵。
史思明叛军把常山紧紧围困,颜杲卿带领常山军民拼死抵抗了四天,城里粮食断了,箭也完了。常山终于陷落在叛军手里。史思明纵容叛兵杀害了一万多常山军民,又把颜杲卿、袁履谦抓起来,押送到洛阳去见安禄山。
安禄山命令兵士把颜杲卿押到他跟前,责问颜杲卿说:“你本来只是个范阳小官,我把你提拔为太守,为什么反叛我?”
颜杲卿怒气冲冲地骂着说:“你是一个牧羊的小子,国家让你做了三镇节度使,有哪点对不起你?我为国除奸,恨不得斩你的头,叫什么反叛?”
安禄山恼羞成怒,要左右兵士把颜杲卿、袁履谦拖到一座桥边的柱子上缚起来,使用残酷的刑罚折磨他们。
颜杲卿神色凛然,一面忍受着酷刑,一面仍旧痛骂安禄山。叛军兵士用刀割了颜杲卿的舌头,颜杲卿满口鲜血,还发出含糊的骂声。
袁履谦看到颜杲卿受刑的惨酷情景,气得自己咬碎舌头,连血带舌喷在旁边一个叛将的脸上。
颜杲卿、袁履谦骂不绝口,一直到他们咽气。颜杲卿从起兵到失败,虽然只有十几天,但是他们的抵抗,拖住了叛军的兵力,为唐王朝调兵遣将争取了时间;他们的誓死抵抗的精神,鼓舞了更多的人抗击叛军。
颜杲卿被杀后一个月,河东节度使李光弼率领步兵骑兵一万多人、太原弓箭手三千人出兵井陉关,打退叛军,收复常山。接着,朔方节度使郭子仪也带领精兵到常山和李光弼会合。河北的一些百姓受尽安禄山叛军掳掠的痛苦,听到郭子仪、李光弼大军打过来,就参加了大军队伍。郭、李两支大军兵强马壮,士气旺盛,接连打击安禄山叛军。河北十几个郡重新回到了唐军手中。