安禄山叛军攻进长安,长安失守,郭子仪、李光弼不得不放弃河北,原来已经收复的河北郡县又重新陷落在叛军手里。
进潼关前,安禄山派唐朝的降将令狐潮去进攻雍丘(今河南杞县)。雍丘附近有个真源县,县令张巡不愿投降,招募了一千来个壮士,占领了雍丘。令狐潮带了四万叛军来进攻。张巡和雍丘将士坚守六十多天,杀伤大批叛军,使令狐潮不得不退兵。
第二次,令狐潮又集合人马来攻城。这时候,长安失守的消息已传到雍丘,令狐潮十分高兴,送了一封信给张巡,劝张巡投降。
长安失守的消息在唐军将士中传开后。雍丘城里有六名将领劝张巡说:“现在双方力量相差太大,再说,皇上是死是活也不知道,还不如投降。”张巡把六名将领当场斩了,宣布他们犯了背叛国家、动摇军心的罪,将士们看了,都很激动,表示坚决抵抗到底。
张巡组织兵士在城头上射乱箭把不断攻城的叛军逼回去。但是,日子一长,城里的箭用完了。张巡忧心忡忡,一天深夜,令狐潮的兵士发现雍丘城头上黑魆魆一片,隐隐约约有成百上千个穿着黑衣服的兵士,沿着绳索爬下墙来。于是赶快报告主将。令狐潮断定是张巡派兵偷袭,就命令兵士向城头放箭,一直放到天色发白,叛军再仔细一看,才看清楚城墙上挂的全是草人。
张巡的兵士们高高兴兴地拉起草人。那千把个草人上,密密麻麻插满了箭,竟有几十万支。这样一来,城里的箭就够用了。
又过了几天,还是像那天夜里一样,城墙上又出现了“草人”。令狐潮的兵士见了又好气,又好笑,认为张巡又来骗他们的箭了。大家谁也不去理它。哪儿知道这一次城上吊下来的并不是草人,而是张巡派出的五百名勇士。这五百名勇士乘叛军不防备,向令狐潮的大营发起突然袭击。令狐潮要想组织抵抗已经来不及了。几万叛军失去指挥,四下里乱奔,一直逃到十几里外,才喘了口气停下来。
后来,令狐潮在城下喊话,请张巡见面。命令将士出城猛冲过去。令狐潮吓得拨转马头没命地逃跑,他手下的十四个叛将,都被张巡将士活捉了。