宝藏王继位后,高句丽联合百济攻打新罗,并与倭恢复了关系以对付新罗。642年,新罗派金春秋与高句丽讲和。但由于渊盖苏文要求新罗归还原属高句丽的汉江流域,和谈破裂。于是,高句丽和百济建立了联盟,向新罗进攻,宣称要索回失去的国土。高句丽军一路连陷四十余城而仍不停止,新罗危在旦夕。于是,新罗国王向唐告急。唐命高句丽停战,渊盖苏文拒绝。为讨渊盖苏文和保护盟友新罗,唐太宗认为有必要对高句丽开战,于是唐太宗率军亲征。
公元642年,渊盖苏文杀死高句丽荣留王后立高宝藏为王并自封为“莫离支”摄政。公元643年(贞观十七年),新罗国遣使入朝,述说百济攻占其40余城,并与高句丽图谋断绝其唐朝的通路。唐太宗李世民派人出使高句丽,命其停止争战,遭高句丽权臣、莫离支泉盖苏文拒绝。为讨渊盖苏文和保护唐的盟友新罗, 唐太宗认为有必要对高句丽开战。次年十一月,诏命刑部尚书名臣张亮为平壤道行军大总管,太子詹事、左卫率名将李绩为辽东道行军大总管,率水陆大军分道进击高句丽。公元645年(贞观十九年)二月,唐太宗率六军从洛阳出发,御驾亲征。张亮率水军渡海袭占卑沙城;李绩军攻克辽东重镇辽东城,斩俘两万余人。六月,唐军进至安市城(今辽宁海城东南营城子)。高句丽北部耨萨高延寿、高惠真率15万大军前来救援,被唐太宗击败,余众归降,高句丽举国震恐。
666年,渊盖苏文去世后,渊盖苏文的三个儿子对摄政大权进行争夺。宝藏王依然不能控制国家。唐高宗以李绩为辽东道行军大总管,统帅诸军,分道合击高句丽。以后一年多时间,各战场捷报频传:李绩攻取高丽军事重镇新城(注:今辽宁抚顺北高尔山城),并趁势将附近的16座城池全部攻下;薛仁贵在金山击破高句丽大军,斩首5万余级,攻下南苏、木底、苍岩三城,与泉男生军会师;李绩等攻占扶余城,斩俘万余人,扶余川中40余城亦望风归降,再战薛贺水斩俘3万余人,乘胜攻占大行城(注:今辽宁丹东西南娘娘城)。到了668年春夏,各路唐军会师,推进至鸭绿栅。高句丽发兵抵抗,唐军奋勇出击,大败高句丽军,追奔200余里,攻拔辱夷城(今朝鲜永柔境),高句丽其他各城守军或逃或降。唐军进至平壤城下,围平壤月余,高句丽王高藏派泉男产率首领98人出降。泉男建仍然闭门拒守,并多次遣兵出战,皆败。九月十二日,高句丽僧信诚打开城门,唐军冲进城中,俘男建,高句丽全部平定。唐平高句丽后,分其境为九都督府、四十二州、一百县,并于平壤设安东都护府以统之,任命右威卫大将军薛仁贵为检校安东都护,领兵二万镇守其地。
高句丽第28代国王宝藏王高藏被唐朝俘虏,根据司马光《资治通鉴》的记载,高句丽贵族及大部分富户与数十万百姓被迁入中原各地,融入中国各民族中。另有部分留在辽东,成为渤海国的臣民,而其余小部分融入突厥及新罗。自此,高句丽国家不再存在于世。
643年,唐太宗封高藏为“辽东郡王”、“高句丽王”,授予“上柱国”的称号。