東漢末年,公孫氏雄踞遼東,遠近戎夷鹹服。高句麗與公孫氏的關係初時較睦,還曾出兵幫助其剿滅山賊。但196年高句麗新大王初即位時,王兄拔奇曾得到公孫度之助,起兵爭位,旋敗死。從此高句麗與公孫氏就結下了樑子。公孫氏欲入中原爭鋒,必須要先解決高句麗這個後顧之憂;高句麗要想實現獨霸遼東的預想,也必須要排除掉公孫氏這個障礙。二者都心懷鬼胎,互相提防。但高句麗畢竟力弱,主要採取保境安民的守勢,待機而動。公孫康時曾給高句麗以重擊,並焚燬其國都國內城,高句麗被迫遷都山城丸都(吉林集安以西之山城子)。
高句麗在外交上對待公孫氏的一招就是遠交近攻,分別與吳、魏建立了關係。233年,東吳曾派使者出使遼東公孫淵處,後來公孫淵反目,殺死為首的兩使者。使者團中有幾個逃亡到高句麗,假稱奉孫權之命而來。從此高句麗與東吳一度交好,東吳還賜予高句麗東川王為「單于」的稱號。但好景不長,曹魏當然不願看到這種關係繼續發展下去,頻頻派人出使高句麗,促其與東吳斷交。幾年後高句麗迫於魏國壓力,與吳絕交,斬吳使胡衛等,送首級與幽州。
形勢發展很快,隨著諸葛亮死於五丈原,魏國西南戰線壓力減輕,開始騰出手來收拾桀驁不訓的公孫淵。237年,司馬懿率四萬大軍分水陸兩路征遼東,並要求高句麗出兵相助。高句麗派出主簿大加率數千精兵幫助魏軍作戰。幾個月後,襄平城破,公孫淵走死於梁水,公孫氏在遼東的勢力土崩瓦解。魏軍隨即潛軍浮海,又收樂浪、帶方二郡。魏在原公孫氏所轄地區設平州,轄遼東、昌黎、玄菟、樂浪、帶方五郡,並置東夷校尉於襄平以統管之。
公孫氏敗亡後,遼東諸郡盡入曹魏手。當時曹魏正忙於與吳、蜀的戰爭,無暇回顧。高句麗心懷不軌,東川王欲取代公孫氏稱霸遼東,幾次派兵襲取遼東郡西安平縣等地。高句麗大臣沛者得來絕食死諫,勸國王不要惹惱曹魏,招來亡國之運,東川王不聽勸諫。不久吳蜀方面戰事稍息,魏國派毌丘儉東征,以報高句麗侵寇之仇。
第一次戰役
公元244年(正始五年),毌丘儉帶步騎兵萬人出玄菟討伐高句麗,先後在沸流水、梁口兩度大敗高句麗東川王,將號稱有二萬人的高句麗軍誅滅一萬八千餘人,東川王偕同妻子及千餘騎逃竄往東沃沮(又稱南沃沮),守堅固的丸都城。毌丘儉圍城後,見山城的西北面山體陡峭,上面的守兵也不多,就採用避實就虛,正面佯攻,西北偷襲的戰法,選派一些身強體壯善於攀登的士兵,帶著兵器長繩,偷偷地順著山崖爬上去,先殺死上面的守兵,「束馬懸車」,攻破了丸都山城。據《三國誌》所載,魏兵「屠丸都」,但對當初勸說國王不要侵犯魏國的沛者得來一家網開一面,「儉令諸軍不壞其墓,不伐其樹,得其妻子,皆放遣之。」
第二次戰役
公元245年(正始六年),毌丘儉再征高句麗,東川王奔買溝(註:今朝鮮鹹北會寧)。隨後,毌丘儉自在丸都一帶坐鎮,毌丘儉又派玄菟太守王頎追擊到沃沮,另一路由樂浪太守劉茂、帶方太守弓遵攻打曾依附於高句麗的不耐等濊貊種落。王頎的軍隊追至竹嶺,再度大破東川王餘部。隨後,魏軍殺至沃沮境內,將協助高句麗的邑落一併攻破,斬殺三千餘人。東川王再逃入北沃沮境內,魏軍進一步追討。但高句麗王終於在部下的忠誠保衛下擊殺一小隊魏軍而得以隱匿。王頎軍主力則進一步向東北行,一直抵達北沃沮與肅慎的邊境地帶。而劉茂、弓遵也成功擊潰了濊貊各邑,逼迫不耐濊侯舉邑降,將東漢初廢棄的臨屯郡故地再次納入版圖。整個征剿行動至公元245年初基本結束,最終毌丘儉等刻石紀功並於245年5月回師凱旋。不久,東川王在逃亡中抑鬱死去。〔註:據《三國史記》載,高句麗以詐降計刺殺王頎,打敗魏追兵。此事不見於中國史籍,應為其吹噓之語。)魏軍兩次征討,每次均俘獲高句麗人口數千,將他們遷入內地。
影響
毌丘儉東征,是中原王朝對東北地區有史以來最遠的一次征討,魏之勢力遠至今俄羅斯濱海地區,原屬高句麗統轄的朝鮮半島嶺東濊貊地區,也歸入了樂浪、帶方二郡。高句麗幾遭滅頂之災,僥倖苟延殘喘了下來。以後四十餘年,高句麗不敢再向遼東入寇,並頻頻向魏、晉納表稱臣,過了一段太平的日子。
據《隋書》記載,在曹魏擊破高句麗後,留在沃沮的高句麗人部落的後代建立了新羅。