公元七五五年冬,深受唐玄宗李隆基信任的范阳等三镇节度使安禄山,突然起兵叛乱。他的十五万大军迅速南下,击败唐军,很快攻下东都洛阳。雍丘县令令狐潮以为要改朝换代了,竟然擅自离城,去向叛军求降。

就在这危急时刻,真源令张巡主动召募壮丁,组织一支两千人的军队,突然向雍丘发起进攻。待到令狐潮求降归来,雍丘已在张巡的控制之下,令狐潮的妻儿已被杀死。令狐潮极度愤怒,便去调集了四万叛军,前来攻打雍丘。

张巡以有限的兵力,对付强大的叛军,坚守雍丘六十天,始终未向叛军屈服。

后来,雍丘东面的睢阳也受到叛军的攻打,睢阳太守许远派人向张巡求援。张巡考虑到睢阳的地位比雍丘重要得多,决定放弃雍丘,移兵睢阳与许远会合,并毅然担当起守卫睢阳的重任。

两城能战的兵力合起来不过六千余人,而叛将尹子奇率领的大军达十三万人,双方力量极为悬殊。但张巡毫不畏惧,激励士卒勇敢杀敌,半个月就消灭叛军二万余人。

尽管官军奋勇杀敌,但尹子奇能不断补充人马,而官军得不到补充。因此,官军的处境非常危急。一天,张巡在城头巡视,发现敌军中有几个骑马的将领,但不知其中谁是尹子奇。于是他想出一条计谋:将一根苇杆削成箭,向敌阵射去,然后仔细观察动静。

但见一个叛兵拾起用苇杆削成的箭,向一个将领报告,意思是官军箭已用完,在用苇箭代替。那将领当即取过苇箭观看,其他将领都向他围拢过去。张巡马上断定,那取过苇箭的定是尹子奇,就命在旁的部将南霁云对准他射箭。那人果然是尹子奇,当即被南霁云射伤。叛军为了救护尹子奇,仓皇撤走,睢阳的军民也得到了暂时喘息的机会。

但是好景不长,过了两个月,尹子奇又率军来攻,兵力也增加了好几万。这一回他采取长期围困的策略,在城外掘了三重深壕,准备困死睢阳军民。

睢阳城里的粮食很快吃光,饿死的士兵越来越多。到后来,能守城的只剩下六百多人。张巡和这些能活下来的,都伤病在身,疲乏不堪。这时,一切能填肚子的东西都填进了肚子,饥饿的威胁越来越严重。于是张巡又下令张网捕麻雀,掘洞捉老鼠,并把兵器上的皮革解下来煮了吃。

尽管如此,仍然没有人投降叛军。最后由于粮尽援绝,睢阳城终于被叛军攻破,张巡、许远等壮烈牺牲。