唐朝末年,安禄山起兵反唐,派叛将令狐潮重兵包围了雍丘(今河南杞县)。守将张巡只有几千人守城,雍丘被围日久,城中粮食日渐缺乏。这时,恰好有数百艘为燕军补给的运粮船,刚停靠在河边,仍末卸粮。张巡从城上发现这个情况,便在夜间把军队集中到城的南面,装出好像要出战的样子。令狐潮见巡军集中到城南,也把军队调到城南来抵拒巡军。张巡知燕军完全调到城南后,便派遣勇士静静的到达河边,把燕军运粮船上的粮食夺走千多斛,然后放了一把火,把剩下的粮食通通烧光。
张巡智盗敌粮,令狐潮大怒,下令全力进攻。连日来,为了抵抗燕军进攻,雍丘守军很快就把准备的箭都射光了。在此危急之际,张巡在晚上,令士兵们把事先准备好的稻草人穿上黑衣,用绳子绑好,从城上慢慢放下。燕军隐隐约约看见有成百上千个穿着黑衣服的士兵,沿着绳索爬下墙来,报知令狐潮。令狐潮断定是张巡派兵偷袭,于是命士兵向城头放箭,射杀唐军。一时间,燕军兵士争相施射,一直放到天色发白。待到天色大亮,燕军这才发现城墙上所挂的全是草人。草人身上密密麻麻地插满了箭。白天一数,共得敌箭数十万只,这解决了军中缺箭的问题。
之后一连几天,还是像前次夜里一样,城墙上都出现了草人。令狐潮的兵士见状,都嘲笑张巡故伎重演,贪得无厌。于是只箭不发。逐渐,围城的燕军对张巡夜缒草人以为常,不再防备。
几天后,张巡挑选了五百勇士,并在夜里把他们放下城去。燕军士兵以为这次城上吊下来的仍是草人,没有防备。五百勇士乘敌毫不防备,突然杀向令狐潮的大营。燕军顿时大乱,自相冲撞践踏,不辨敌我。令狐潮下令集合人马,但仓皇之中,已不及组织抵抗,被唐军杀得四散走避。令狐潮带着败兵一直逃到十几里之外,唐军大获全胜!
之后张巡屡立战功,其最著名的就是睢阳保卫战,史书记载,张巡自春至冬,守城十个月,大小数百战,斩将三百,杀卒十余万,城孤粮绝,外援不至,知死而不叛,十月初九城破,张巡骂城而死,时年四十九岁,部将南霁云等36名同时殉难!其英雄事迹被永久载入史册。