1937年10月,張靈甫就任第七十四軍第五十一師一五三旅三〇五團團長,隨王耀武開赴前線,參加上海保衞戰張靈甫率團前線構築工事。11月10日後,張靈甫參與第三戰區部隊撤離淞滬時的第二期掩護任務。
1937年12月5日,張靈甫率三〇五團投入南京保衞戰在淳化鎮附近構建新陣地,當三〇一團棄守淳化後,三〇五團突進到上方鎮負責阻擊日軍掩護王耀武第五十一師退入南京,雙方展開肉搏戰,張靈甫的左臂中彈負傷不下火線,在戰役中張靈甫率部死守華嚴村以一團之力與日第18師團血戰一晝夜,最終也因傷勢嚴重,渡江後不久暫別部隊回到西安養傷。
1938年5月,張靈甫參加蘭封會戰,在三義寨攻堅戰戰役中,第七十四軍第五十一師在三義集圍攻土肥原師團,張靈甫率三〇五團接防紀鴻儒部三〇二團陣地,後進攻日軍陣地。
1938年,張靈甫又參加武漢會戰,在江西德安阻擊日軍。
1938年7月,日軍第106師團沿南潯鐵路南進,佔領德安。張靈甫以第七十四軍第五十一師一五三旅旅長的身份參加萬家嶺戰役,張靈甫率領一五三旅參加張古山戰鬥,指揮以本旅三〇五、三〇六兩個團為攻擊部隊突襲張古山制高點,並於前線親自督戰,組織力量進行固守陣地。一五三旅在張古山戰鬥中傷亡慘重。張靈甫獲雲麾勳章(未知等級)。
不久,受任旅長,率部隨第七十四軍開赴奉新、高安一帶休整“長沙大火”後,第七十四軍駐防長沙。張靈甫帶領官兵幫助當地羣眾在灰燼中重建家園,並以軍紀嚴明受到羣眾好評;不久,他回陝西探親,由陝西第一師範學校老師韓兆鶚介紹,與西安名門望族姑娘高豔玉結婚,後來因感情不好而離婚。
1939年3月,第七十四軍奉調入贛,參加反攻南昌會戰。
張靈甫於1939年4月1日在贛湘公路祥符觀激戰中彈受傷。張靈甫帶領第一五三旅官兵急行軍,趕赴江西錦江,他見官兵衣衫濕盡,旅途勞頓,頗有怨言,即令部隊適當延長休憩時間。宿營時,張靈甫親至各連排慰問,並拿出自己薪水交給軍需官資助改善部隊伙食,使官兵深受感動,加快行軍速度,及時赴到錦江前線。4月下旬,在第五十一師師長王耀武統一指揮下,第一五三旅協同各旅、團、連克高安祥符觀,兵鋒直逼南昌外圍。6月,張靈甫擔任第五十一師步兵指揮官。張靈甫率部馳援高安,親赴前線督戰右膝中彈。受傷後赴香港治療,後不顧英籍醫生勸告再治療一個月可以痊癒即提前歸隊,以致終身跛足,有“跛腿將軍”稱號。
1940年,升任第五十八師副師長。在這前後三年,張靈甫先後率部參加三次長沙會戰。在上高會戰中,第七十四軍作為決戰兵團,負責正面防守,第五十八師奉第七十四軍軍長王耀武命令,在高安以西、棠浦以東一帶牽制日軍。第五十八師師長廖齡奇當時去湖南嶽麓山參加軍官訓練團學習,不在任上。張靈甫協助師長廖齡奇指揮作戰,命令戰士挖陷阱、埋地雷,阻止敵人重武器前進;組織機槍火網或白刃格鬥,對付敵人步兵衝鋒等,以消耗敵人有生力量。由於日軍飛機、大炮多,攻勢兇猛,第五十八師官兵傷亡眾多。張靈甫放下電話,即趕赴前沿陣地,出謀劃策,幫助團長指揮部隊,堅守陣地。是役第五十八師以2,000餘人傷亡代價,協同第七十四軍其他部隊在上高縣、北下陂橋,頂住敵人攻勢。陸海空軍武功狀第一、第二號為第七十四軍第五十一師李天霞部、第五十七師餘程萬部分獲,第五十八師一無所獲。年冬,張靈甫升任第五十八師師長。
1943年11月,日軍集中第3師團、第13師團、第34師團、第39師團等近10萬兵力,從石首、藕池口、彌陀寺出發,進攻常德;張靈甫率第五十八師在常德以北阻擊日軍。11月17日拂曉,日軍第三十四師團佐佐木支隊、第13師團——6聯隊猛攻肩擔埡、赤松山、亞門關。開始,第五十八師部分戰士面對強敵,產生怯戰心理;對此,張靈甫召集全師官兵動員釋疑。經過一晝夜戰鬥,日軍寸土未進。張靈甫見官兵十分疲勞,便將部隊換下來休息;考慮到日軍正面進攻未能得逞,可能夜晚會來“劫寨”。於是命令預備隊第一七三團調撥一個營埋伏起來,防止日軍“偷營”。半夜,果然日軍一個聯隊化裝成便衣隊,從羊角山左側迂迴襲擊過來;哨兵識破,埋伏營立即殲滅其大部。最後在第五十七師近乎折損殆盡的狀況下國軍收復常德。張靈甫指揮第五十八師阻止日軍屢次進攻,有力支援常德正面防禦作戰,獲國民政府授予四等雲麾勳章。
長衡會戰展開後,張靈甫率領第五十八師從湘潭公路青樹坪轉到衡寶公路,參加衡陽外圍戰鬥,主攻雞窩山日軍據點。指揮所部向衡陽進逼,抵達市郊五里牌。守衞衡陽的第十軍軍長方先覺突然向日軍投降,衡陽終於陷落。但張靈甫還是獲得三等寶鼎勳章。
1944年5月30日,張靈甫任第七十四軍副軍長。
1945年2月20日,張靈甫任少將。1944年下半年,被選拔到陸軍大學將官班受訓。畢業時,抗戰已經取得勝利。