1937年,震驚中外的“蘆溝橋事變”發生後,全國抗戰呼聲日漸高漲,南京國民黨政府在中國共產黨和全國人民團結抗日的呼聲中,不得不打出抗戰救國的旗幟。不久,國民黨政府下令:所有服刑官兵除“政治犯”外,一律調服軍役,戴罪立功,並保留原來軍銜。曾任過張靈甫上司的王耀武乘機向蔣介石求情,說:“張鍾靈這個人作戰很有本事,現在抗戰需要幹部,把他給我吧?”蔣介石本來也不忍心懲辦自己這個學生,便說:“那就交給你,但要好好教育他,讓他重新做人。”這之後,張靈甫便到了王耀武手下,在第七十四軍五十一師任上校候差員,登記時將原名張鍾靈改為張靈甫。
“八·一三”淞滬會戰前夕,張靈甫就任第七十四軍五十一師一五三旅三O五團團長,隨王耀武開赴前線,參加上海保衛戰;次年,又參加了武漢保衛戰,在江西德安阻擊日軍。7月,日軍一O六師團沿南潯鐵路南進,占領德安。9、10月間,王耀武命令第一五一旅旅長唐生海指揮張國獻的第三O二團、張靈甫的第三O五團、常海德的第三O六團反攻德安張古山之敵,阻止日軍南進。研討作戰方案的會議上,有人認為:張古山地勢高峻,位置險要,易守難攻;我方沒有重炮,單憑正麵仰攻,必然傷亡很大,難於完成任務。張靈甫力排眾議,提出仿效《三國演義》中鄧艾偷渡陰平進攻西蜀的做法,挑選一批精幹將士組成突擊隊,從張古山之背後突破,實施兩麵夾攻。他的這一方案最後得到王耀武的讚同。之後,張奉命帶領突擊隊從背後攻擊。
戰鬥開始後,張率領部隊攀藤附葛,從人煙絕跡的崎嶇峽穀偷渡而上,配合正麵進攻部隊夾擊日軍,很快奪取了張古山。日軍隨後在飛機、重炮掩護下組織反撲,把張占山陣地炸成了一片焦土。張靈甫團與其他部隊頑強戰鬥,白天退卻,晚上反攻,與敵人反複爭奪了五晝夜。作戰中,他腿部受傷,仍堅持指揮戰鬥,受到官兵們的敬仰。戰後,他升任第一五三旅副旅長,不久升為旅長。
1939年,第七十四軍奉命入贛作戰,參加反攻南昌的戰役。當時,春雨連綿,道路泥濘。張靈甫帶領第一五三旅官兵一路急行軍趕赴江西錦江。途中,他見官兵衣衫盡濕,頗有怨言,便命令部隊適當延長休息時間。宿營時,他親自到各連、排慰問,並拿出自己的薪水交給軍需官資助改善部隊夥食。官兵們深受感動,加快了行軍速度,及時趕到了錦江前線。4月下旬,在第五十一師師長王耀武的統一指揮下,第一五三旅協同各旅、團連克數城,直逼南昌外圍。6月,張靈甫任第五十一師步兵旅指揮官、作戰中再次表現出良好的指揮才能。1940年,張升任第五十八師副師長。
1941年,在上高會戰中,第七十四軍作為決戰兵團,負責正麵防守,張靈甫所在的第五十八師奉軍長王耀武的命令牽製日軍。張靈甫協助師長廖齡奇指揮作戰,命令戰士挖陷阱、埋地雷,積極阻止敵人的車輛和重武器移動;組織機槍火網或白刃格鬥,對付敵人的步兵衝鋒,消耗敵人的有生力量。由於日軍飛機、大炮多,攻勢凶猛,作戰中第五十八師官兵傷亡眾多。當第一七二團團長向師部打電話請示後撤時,張靈甫堅決地命令說:“哪怕打到最後隻剩下你一個人,也必須給我守住陣地!”放下電話,他隨即趕赴前沿陣地,幫助出謀劃策,與團長一起指揮部隊堅守陣地。這次戰役,第五十八師以2000多人傷亡的代價,協同第七十四軍其他部隊在上高縣、北下陂橋頂住了敵人的攻勢,會戰結束後,第七十四軍獲國民政府授予的“飛虎旗”獎,王耀武、施中誠、張靈甫等也都受到嘉獎。
同年冬,張靈甫升任第五十八師師長。
1943年11月,日軍集中近十萬兵力,從石首、藕池口、彌陀寺出發進攻常德。張靈甫率五十八師在常德以北阻擊來犯之敵。17日拂曉,日軍三十四師團佐佐木支隊、十三師團等部向扁擔埡、赤鬆山、亞門關發動猛烈攻擊。開始時,五十八師官兵麵對強敵,心中不免膽怯。針對這種情況,張靈甫召集全師官兵進行動員。他說:“我們和日本鬼子作戰不僅要鬥勇;而且要鬥智。日軍有強點也有弱點,隻要我們多動腦子,就可以打敗他們。”戰鬥開始後;張靈甫親赴一線指揮作戰。經過一晝夜的戰鬥,日軍寸土未進。張靈甫見官兵十分疲勞,便將部隊換下來休息。但他沒有休息,考慮到日軍正麵進攻未能得逞,夜晚可能會來“偷營劫寨”,便命令作為預備隊的第一七三團調撥一個營埋伏起來,防止敵人襲擊。果然,半夜日軍的一個聯隊化裝成便衣隊,從羊角山左側迂回襲擊過來。這個預先埋伏的營適時攻擊,殲滅日軍大部。就這樣,張靈甫指揮第五十八師阻止了日軍二次又一次的進攻,有力地支援了常德的正麵防禦作戰。戰後,張靈甫獲國民政府授予的四等雲麾勳章。