。懿便令徐晃引二千精騎為前隊,自提大軍,奮力追襲。行無一日,晃軍趕上淵後隊;時晃軍在嶺上,看嶺下淵軍步騎數萬,其勢甚大。左右或雲:“可待都督大軍來,併力擊之。”徐晃瞠目道:“今我為前部,正當摧鋒陷陣;且偽燕窮途末路,不堪一擊,何懼兵少乎!”便提斧當先,殺下嶺去。部下二千騎一起奮發,勢如山崩。須臾,突入敵陣,徐晃揮斧闖營,連斬燕將五人。燕軍雖眾,無敢相敵,俱各奔走。公孫淵在前隊,卑衍道:“主公可乘司馬懿大隊未至,急回師逆擊,倘能挫徐晃,或可免禍。”淵驚怖道:“縱能斬晃,待司馬公大軍到,豈能復脫?當引前隊先走。”卑衍道:“主公!今遼東已危,軍皆在此;併力死戰,尚有望振軍心而圖生;若棄軍走,更欲往何處保全首領?”淵不從,自引前隊奔走。後隊燕兵,不見軍令,更是混亂。戰無半日,鮮于輔等引鮮卑、烏桓雜騎三千餘掩至,截斷燕軍歸路;司馬懿復縱大軍殺來。燕兵降者萬計。卑衍引親兵百餘,死戰不退,為夏侯霸所殺。司馬懿撫慰眾將,嘉之曰:“連番克敵告捷,皆諸公戮力所致。公孫淵棄眾而走,足見毫無膽略,旬日必亡。”未幾,報遼西燕將楊祚請降。懿許之。更部勒眾兵,緩緩東進。
公孫淵棄了後兵,引眾潰奔;左右無將,又乏軍食;翻山越嶺,士眾漸散。待到昌黎,兵無萬人。聽得東邊來報,臧霸遣膠東軍,已與高句麗夾擊,盡據遼東;襄平陷落,家屬盡沒。現魏大將孫觀引精兵數千,屯於遼水,營寨森嚴;又報海路軍馬覆滅,魏將尹禮,督戰船數百隻,於遼海鼓浪往返,威勢甚廣。公孫淵不敢東進,孤軍困守。司馬懿大軍逼近城下,城又無糧,殺牛馬為食,軍民多怨。淵勢孤計窮,進退無路,只得遣侍中衛演,入魏營請降。懿怒,令斬之,使從人回報曰:“淵以州郡之官,反叛朝廷,勾結賊寇,妄稱大國。今既請降,便當親至,何須遣人!”從人回告。淵走投無路,與子公孫修相議:“今只好自縛請降。”修大哭道:“父親從他人之言,為不赦之罪,既反曹魏,又負漢室。今既至此,有死而已,何必請降,以受再辱?”淵嘆道:“某但悔當初。”遂定了日期,與隨營眾官,面縛出見司馬懿,伏地哀告道:“罪臣公孫淵,不識天命,甘冒大逆,以從匪黨,驚擾聖意,勞動王師,自謂必死。但乞都督看先父鎮邊之功,得保全首領,苟且於奴隸之屬,以盡餘生。”懿道:“汝興兵造反,殺傷軍民,罪不容誅。臨敗乞降,降意非誠。既已有心必死,何須哀告!”令推出斬之。又將淵子修及隨軍朝官七十餘人,盡皆殺戮。
忽報徵東大將軍臧霸麾下徵北中郎將周循,遣人押送公孫淵家屬百餘口到都督駕前。懿令盡斬之。夏侯霸道:“今逆首已伏誅,都督可即擁節東進,以鎮遼土。”司馬懿道:“遼土已復,我又何必與臧宣高爭功?且梁山賊盤踞中原、山東,河北尚緊,須以北防之兵南下為要。”便教犒賞士卒,燕兵降者數萬,其原籍遼東者,三停中約有二停,皆放回本郡。一面預備拔寨西還。更遣人持厚禮,往東送入襄平,附信與周循道:“將軍奉徵東之命,舉大魏之幟,鼓浪遼海,揚威襄平,使賊逆自亂,功莫大焉。今特備薄禮,以饗士卒。高句麗邊夷之國,此番助王師討賊,頗有功勞。將軍既鎮邊陲,當以恩義結交。牛酒珠寶,不妨多送,然國家土地,方寸莫與。切記,切記。”
是夜,司馬師、司馬昭入見懿,問道:“周循本是孫吳餘黨,臧霸割據山東,亦有自立之意。彼據遼東,明是乘我與偽燕相併,坐收漁利。今大軍數萬,便在昌黎,何不一鼓東進,卻如此容讓,令他坐大?”司馬懿道:“臧霸、周循皆是大魏之臣,縱有異志,其患小於宋江。我令他攻、守遼東,一則促公孫之敗,二則省遠戎之兵,三則堅臧霸之志。今宋江賊勢浩大,國家與戰,勝敗艱辛。便是遠方之敵如劉循、士燮輩,尚須利用,何況宣高乃武皇帝舊臣,豈能不加籠絡!舍遼東之地,得臧霸之軍,在國在軍,皆是大利,且霸得遼東,亦以牽制賊黨乎。”師、昭方拜服。
次日,懿令回軍。先到幽州,面諭諸將、眾官。隨引本部軍馬,及精選遼兵四千、幽州兵七千,更有鮮卑、烏桓等胡數千騎,一起南下。黃初四年八月,返回鄴城。曹丕見懿得勝還,大喜,極力嘉言;欲增司馬懿食邑二千戶,懿固辭道:“臣為朝廷出力,以報陛下知遇之恩,雖萬死無憾,豈圖爵祿哉!”丕便封其子司馬師、司馬昭為關內侯。其餘眾將,各有封賞。懿又道:“幽州諸將,力抗公孫淵偽燕之兵數載,功勞卓著;臧霸令周循千里渡海,襲取遼東,為此役大勝關鍵。望陛下皆厚賞之,以勵來者之心。”丕