唐朝建国时,朝鲜半岛上是“三国鼎立”的局面,这个三个国家分别是新罗、百济和高句丽。隋炀帝曾三征高句丽,但相当失败,不但没了灭掉这个小国,反而把自己先玩完。唐朝建立后,与三国都保持和好姿态。三国的国王都接受李渊的册封。保持三国力量均衡,防止一方做大是唐朝的“外交策略”。但是,高句丽不安分,想要称霸朝鲜半岛。公元643年,新罗善德女王传书唐朝,说高句丽联合百济攻打新罗,请求唐朝援助。唐太宗派使者前往调停,要求高句丽和百济停止对新罗的进攻。但高句丽对唐太宗的命令置若罔闻,依旧攻打。唐太宗大怒,决定“教训”高句丽。大将李绩、大臣长孙无忌都支持唐太宗的决定。
644年,唐太宗派阎立德到洪州(今江西南昌)、饶州(今江西上饶)和江州(今江西九江)筹建400艘军船,开始筹备进攻。这年冬天,唐太宗带着大批官员和皇太子李治离开长安向唐与高句丽的边境进发。当时,长孙无忌、李绩、李道宗随太宗出征,而房玄龄和李大亮则留守都城长安,处理军需和国家政务。
唐太宗对这场战争的胜利充满信心。他认为隋炀帝没有做成的事情他一定可以做成。但是,这次征讨也和隋炀帝的征讨一样失败了。
在进攻安市城的时候,唐军遇到了强大的阻力,高句丽军队顽强抵抗,双方陷入对峙状态。随着冬天的临近,天气愈来愈恶劣,而后勤供给也开始匮乏。不得已,唐太宗于645年10月13日下令撤退。在过辽河的时候,军队遇到了泥沼,行军困难。在填平泥沼的过程中,有的士兵陷入泥潭被淹死,而很多士兵则被冻死。看到哀鸿遍野的场景,唐太宗很后悔发动这场战争,曾说要是魏徵还活着,一定会劝阻他不要发动这场战争。
其实,唐太宗亲征并非无人阻止,当时诸遂良曾上谏反对,房玄龄也不同意。可是唐太宗信心满满,根本听不进去。
回到长安后,唐太宗对不听话的高句丽始终耿耿于怀。647年,他又开始筹备进攻事宜,并派牛进达和李海岸从海上攻打辽东半岛南部,派李世勣和孙贰朗从陆路穿过辽河袭击高句丽。可是海陆两军都蒙受损失,毫无进展。648年,唐太宗再派薛万彻和裴行方从海上攻击高句丽。并准备于在649年亲率30万大军摧毁高句丽。
648年,房玄龄旧疾复发。唐太宗非常关心他,派最好的医生为他诊治。可丝毫不见效果。已经七十岁的房玄龄明白自己大限已到,便对几个儿子说:“我已经快不行了。皇帝厚爱房家,我不能辜负他的恩泽。现在天下承平,唯独征讨高丽不止。皇帝心意已决,大家都不敢犯颜进谏。我不想衔恨入地,请你们为我准备笔墨,我将抗表进谏。”
在谏表中,房玄龄认为征讨高丽劳民伤财,于国不利。“愿陛下遵皇祖老子止足之诫,(停止征讨)以保万代巍巍之名。”
唐太宗看了谏表,感叹说,房玄龄真是忠臣,身患绝症仍旧心怀国家。
房玄龄死后,唐太宗给他的两个儿子升了官,赐谥号“文昭”,陪葬昭陵。649年,唐太宗病重,他在去世前终于采纳了房玄龄的建议,取消进攻高丽的计划。