其實兀朮的南侵也很倉促,幾乎是全線大敗,劉錡、吳璘連獲大勝。年輕的宋高宗激動得手舞足蹈,原來派出支援的部隊現在正好都可以投入戰略反攻,岳飛、韓世忠、張俊、楊沂中等部紛紛出擊,甚至將免職的劉光世也請出帶兵北伐,並令資政殿學士、福建路安撫使張浚建造千艘海船,準備直指山東。首先是韓世忠進圍陳州,金軍幾路救援都被打敗。張俊、王德合兵亳州,叛賊酈瓊棄城而逃。而岳飛、劉光世的任務是支援順昌的劉錡,俟機反攻中原。多年來,宋軍雖沒有大舉北伐,但岳飛一直與北方義軍保持聯繫,李寶、樑興等一直打着岳飛的旗號在敵後抗金。岳飛讓他們東援劉錡,西援郭浩,待他大軍到時,夾擊金軍,收復中原。岳飛向高宗密奏他和義軍的聯繫,高宗授其河南北諸路招討使,統一指揮北方義軍,並親書手札:“設施之方,一以委卿,朕不遙度。”但秦檜卻堅決要求議和,尤其是兀朮在順昌大敗,秦檜要求各軍不準進攻以備議和,並遣司農少卿李若虛到岳飛軍中頒詔,要求岳飛退屯鄂州。岳飛向李若虛痛陳機不可失,並拿出高宗授權他指揮的手札,保證出兵必勝。手札雖是皇帝御筆,但屬私人性質,效力低於朝廷詔書,出兵仍是違詔。
但李若虛大義凜然,表示願意承擔違詔責任,支持岳飛進軍。岳飛立即遣王貴、張憲、牛皋等部將分別率兵進攻洛陽、汝、鄭、陳、蔡等戰略要地,欲將河南一口吃下。很快各路奏捷,先鋒張憲在穎昌(今河南許昌)大敗駐守的金軍韓常部,岳飛令宣撫司都統制王貴率主力進駐潁昌,自率輕騎在穎昌以南百里的堰城(今河南漯河)設立總部。張憲與牛皋、徐慶部會合後東進收復陳州,郝晸部西進收復鄭州、洛陽。現在宋軍就對開封形成鉗擊之勢,隨時可以合圍。兀朮剛在順昌遭受重創,現在宋軍各路開進,“大懼”。但兀朮也無愧爲一代名將,很快冷靜下來,召集衆將商議,最後議定,宋軍各路都還好,岳飛最可怕,要先將其誘出,併力一戰,勝則有一線生機。但不知爲何這個計策卻泄漏出去,宋高宗聽到後竟然也“大懼”,連忙賜札提醒岳飛注意安全。岳飛哈哈大笑:“金人黔驢技窮了!”不但沒有退縮,反而主動挑戰。兀朮大怒,合龍虎大王、蓋天大王與韓常等各部直逼堰城,其中有他重新整頓後的長勝軍一萬五千餘騎。岳飛的主力都已向前推進,堰城只有背嵬軍、遊奕軍等數千親衛。
這當然不是岳飛的失誤,雖然己方兵少,但士氣如虹,而敵軍士氣已沮,他認爲通過一場惡戰抵住金軍完全有可能,也只有這樣才能保持現有的戰略態勢,準備合圍開封。否則他的總部一動,讓金軍穿插到後方,已進駐陳州、洛陽等地的主力部隊不但不能合圍開封,連撤回南方都很危險。岳飛在堰城迎戰兀朮的絕對優勢兵力,並非簡單的武勇,而是有深謀遠慮的戰略規劃。兀朮率大軍繞開宋軍各部,直抵堰城,岳飛在城下列陣迎戰。岳飛遣養子岳雲率騎兵先出,要求他直貫敵陣,戒令:“不勝,先斬汝!”岳雲使一對80斤鐵椎,率精騎從金軍陣中穿過,無人能擋,又同樣殺回,金兵依然不能擋。如此數十回合,一向仰仗騎兵彪悍的金兵被漢騎殺的屍橫遍野。這時兀朮祭出長勝軍,以柺子馬陣形鉗擊宋軍。岳飛也知道決戰時刻到來,遣步兵入陣,戒令步兵帶麻札刀、大斧,只管砍馬腳,不得仰視。
須知長勝軍都是重裝鐵騎,大多使用狼牙棒等長兵器,遠望尚且令人膽寒,又有多少人敢埋着頭衝到他們面前去砍馬腳?但宋軍將士經過岳飛嚴格訓練,戰術素養和紀律極強,拋開一切雜念,奮勇迎向山崩一般的重騎鋒芒,冒着頭頂橫飛炫舞的殺人兵器,全力砍向馬腳,長勝軍紛紛倒地,岳飛看準時機,一聲令下,全軍突擊。裨將楊再興單騎直插兀朮帥旗,金軍大驚,奮力將主帥擋住,楊再興手刃數百人殺出重圍,血漫徵袍。宋軍將士無不氣血激昂,長刀巨斧紛紛斫開金軍厚甲,金軍實在不支,大敗而逃。長勝軍繼在順昌大敗後,在堰城再遭重創,從此一蹶不振,退出戰爭舞臺。兀朮大慟道:“自海上結盟以來,我都以這支部隊取勝,現在完蛋了!”第二天,憤怒的兀朮整軍復戰,岳飛遣部將王剛先以50騎衝陣,奮斬金軍先鋒裨將,岳飛趁勢以主力出戰。金軍雖敗,但畢竟有數量優勢,戰鬥進入膠着。
岳飛見戰塵蔽天,親率40名近衛衝入戰陣,參謀官霍堅挽住戰馬道:“相公(少保是享受副相待遇的虛銜)是國家重臣,安危所繫,怎能親自入陣?”岳飛用鞭抽開霍堅,率親兵衝入陣中,施展武藝,弓矛並舉,殺傷敵軍無數,陣斬金軍主將阿李朵孛堇。將士們見嶽相公親自入陣,氣血激昂,連宣撫司的文官們都紛紛提起武器衝入戰陣,金軍再不能抗,大潰而去。堰城大捷後不久,楊再興率300騎在堰城以北的小商橋巡哨,遭遇大隊金軍。宋軍血戰殺死金軍兩千餘人,陣斬萬戶撒八孛堇。《宋史》上還說殺死百名千戶,這可能又過於誇張。由於衆寡懸殊,楊再興、王蘭、高林以及300宋軍戰士全部壯烈犧牲。後宋軍取回楊再興的屍體,火化後得箭鏃二百餘個,可見其死前血戰之激烈!岳飛判斷兀朮奪取小商橋的目的是爲了隔斷他總部與前軍的聯繫,必還攻穎昌,令岳雲率騎兵快速赴援。
果然,兀朮在穎昌和堰城之間的臨潁集結12萬大軍,準備擋住岳飛並反攻穎昌。岳雲疾速趕到穎昌,兀朮大軍也已到達,城內的王貴帶兵出城與岳雲合兵會戰,兩軍在城西鏖戰。宋軍最常見的戰法是步兵居中,扛住敵軍後由騎兵從兩翼側擊。但此戰宋軍人數太少,不能結常規的萬人大陣,於是岳飛令使用另一種陣形,由騎兵居中突擊,衝開敵陣後,由步兵從兩翼包抄。王貴率遊奕軍,岳雲率背嵬軍挺前決戰,金軍精騎迎面對衝。雖然女真鐵騎號稱無敵,但宋軍騎兵也勇悍無比,尤其是岳雲的鐵椎實難匹敵,宋騎如雷霆般衝開敵陣。此時宋軍步兵張兩翼鉗擊,金軍陷入苦戰,雖人多不能佔據勝勢。兩軍一直從清晨血戰至午後,難分勝負。此時守城的踏白軍統制董先、選鋒軍副統制胡清率領守城的最後數千宋軍衝出城來,僵持中宋軍陡增一支生力軍,金軍也無力趁機分兵掠城,終於被衝潰。兀朮倉皇遁去,其女婿統軍使上將軍夏金吾、副統軍粘罕索孛堇被宋軍陣斬。撼山易,撼岳家軍難!這不是宋軍的自我吹噓,而是金軍將士發自內心的讚歎。