同年三月,令狐潮會同燕軍將領李懷仙、楊朝宗、謝元同等率兵四萬餘人蜂擁來到城下,企圖一舉攻下雍丘城。這時雍丘城內約有兩千守軍,而對手則有四萬大軍,城內軍民大為恐懼。於是,張巡對眾將士分析到:“敵知城中虛實,有輕我心。今出不意,可驚而潰也,乘之,勢必折。”眾將士聽後,大為鼓舞。於是,張巡派一千人負責守城,親自率一千人,分數個小隊,突然從城中殺出。張巡身先士卒,直衝殺向燕軍陣中。敵軍雖眾,但事出突然,驚懼無措,頓時大亂,燕軍後撤。
次日,燕軍再集結攻城,環城安置百門石炮(投石機)轟擊,城樓及城上矮牆全被毀壞。張巡於城上立木柵,抵禦燕軍進攻。燕軍紛紛緣城攀登,張巡用蒿草束灌上油脂,焚而投之,燕軍士兵害怕被燒,不敢登城。張巡時而待燕軍鬆懈之際,出城突襲;時而趁夜深人靜之際,偷襲敵營。就這樣,張巡身先士卒,帶甲而食,裹傷戰鬥,堅守雍丘達六十多天,共經曆大小數三百餘戰。令狐潮見在短期內不能取下雍丘,隻好撤兵而去。張巡得知燕軍要撤退,便率兵乘勝追擊,果然大有所獲,俘虜叛兵兩千多,幾乎活捉令狐潮。雍丘守軍士氣大振。
令狐潮因為撤退而失利,十分憤怒,於是回頭再次圍攻張巡。令狐潮本來與張巡是鄰縣縣令,素來相熟。他知道強攻是不易取下雍丘的,便想誘降張巡。
令狐潮在城下像平時見麵那樣和張巡互相問候,並趁機在城下勸降道:“天下大勢已去,為何還要這麼堅守這城池,你到底的是為什麼?”張巡道:“在下以忠義自許,今日之舉,忠義何在!”令狐潮聽後,慚愧而走。
兩個月後張巡與令狐潮已經攻守相持了四十餘天。令狐潮因久攻不下,又添兵加將。這時候,長安已經失守,唐玄宗已逃往四川。由於雍丘與外界早巳失去了聯係,張巡並不知道這些情況。令狐潮趁機送信招降張巡,說是大局已不可挽回,不如早降。
潮趁機送信招降張巡,說是大局已不可挽回,不如早降。
張巡接到信後,將情況告訴了眾將官。有六名將官動搖了,要求率兵投降燕軍。六人認為敵我兵力懸殊、形勢不妙,既然皇上生死不明,不如早降。六人都官至開府、特進,在軍中都有相當影響。六人要降,軍心勢必動搖。於是,張巡假裝許諾,稱明日再具體商議。第二天,張巡在堂上放置皇上的畫像,率領將士朝拜,然後宣布六人的投敵計劃。全軍上下有感於國破家亡,遂群情悲憤,紛紛指責六人無恥行徑。張巡把六人帶到前麵,責其不忠不義,擾亂軍心,當即推出斬首。此舉堅定了軍心。
雍丘被圍日久,城中糧食日漸缺乏。這時,恰好有數百艘為燕軍補給的運糧船,剛停靠在河邊,仍末卸糧。張巡從城上發現這個情況,便在夜間把軍隊集中到城的南麵,裝出好像要出戰的樣子。令狐潮見巡軍集中到城南,也把軍隊調到城南來抵拒巡軍。張巡知燕軍完全調到城南後,便派遣勇士靜靜的到達河邊,把燕軍運糧船上的糧食奪走千多斛,然後放了一把火,把剩下的糧食通通燒光。
張巡智盜敵糧,令狐潮大怒,下令全力進攻。連日來,為了抵抗燕軍進攻,雍丘守軍很快就把準備的箭都射光了。在此危急之際,張巡在晚上,令士兵們把事先準備好的稻草人穿上黑衣,用繩子綁好,從城上慢慢放下。燕軍隱隱約約看見有成百上千個穿著黑衣服的士兵,沿著繩索爬下牆來,報知令狐潮。令狐潮斷定是張巡派兵偷襲,於是命士兵向城頭放箭,射殺唐軍。一時間,燕軍兵士爭相施射,一直放到天色發白。待到天色大亮,燕軍這才發現城牆上所掛的全是草人。草人身上密密麻麻地插滿了箭。白天一數,共得敵箭數十萬隻,這解決了軍中缺箭的問題。
之後一連幾天,還是像前次夜裏一樣,城牆上都出現了草人。令狐潮的兵士見狀,都嘲笑張巡故伎重演,貪得無厭。於是隻箭不發。逐漸,圍城的燕軍對張巡夜縋草人以為常,不再防備。
幾天後,張巡挑選了五百勇士,並在夜裏把他們放下城去。燕軍士兵以為這次城上吊下來的仍是草人,沒有防備。五百勇士乘敵毫不防備,突然殺向令狐潮的大營。燕軍頓時大亂,自相衝撞踐踏,不辨敵我。令狐潮下令集合人馬,但倉皇之中,已不及組織抵抗,被唐軍殺得四散走避。令狐潮縱馬一直逃到十幾裏之外,才穩住陣腳。
不久,令狐潮又糾合兵馬,加緊圍城。
期間一日,張巡讓郎將雷萬春在城頭上與令狐潮對話,燕軍乘機用弩機射雷萬春,雷萬春臉上被射中了六處,仍舊巍然挺立不動。令狐潮懷疑是木頭人,就派兵去偵察,得知確實是雷萬春,十分驚異,遠遠地對張巡說:“剛才看見雷將軍,才知道您的軍令是多麼森嚴了,然而這對於天道又怎樣呢?”張巡回答說:“你人倫都不懂,你要來談論什麼天道?“
這時,由於被圍日久,雍丘城中木材已經用盡,水源也十分枯竭。於是,張巡故意裝出棄城的樣子,對令狐潮放話道:“我想率軍棄城撤退,請你軍隊向後退出六十裏,以便我逃逸。”令狐潮久攻不下,不知是計,便答應了。張巡見令狐潮軍一退,便率領所有城中軍隊一起把城外三十裏範圍內的燕軍營房完全拆掉,將木材帶回城,以作為護城的工具。令狐潮大怒,立刻下令重新包圍雍丘。