唐高祖的皇后窦氏生有四子,除第三子玄霸早夭外,长子建成立为皇太子,为人宽厚有干才,辅助高祖处理政务,稳定后方,支援前线,起过重要的作用。次子世民,封秦王,才艺不凡,经常领兵出征,战功卓著,随着李世民威望的提高,与李建成之间便产生了皇位继承权的斗争。在这个斗争中,高祖第四子齐王元吉一直支持李建成。

还在武德二年,太子詹事李纲就规劝过建成,“不宜听受邪言,妄生猜忌”。指的就是对李世民的猜忌,这可能是他们之间矛盾的开始。到李世民削平关东以后,矛盾就更深了。刘黑闼再度起兵时,太子中允王珪、洗马魏徵提醒建成说:“秦王勋业克隆,威震四海,人心所向,殿下何以自安?”因而建议他去讨伐刘黑闼,以图“立功”,“因结山东英俊”。建成为树立自己的威望,实践了这一建议。为了加强军事势力,建成私募骁勇二千余人,屯守东宫左右长林门,号称“长林兵”。又拉拢后宫妃嫔,特别是高祖宠妃张婕妤和尹德妃,使之吹捧自己,短毁世民。还联合元吉多次策划谋害李世民。至于李世民呢,封德彝就曾指出:“秦王恃有大勋,不服居太子之下。”这并非妄测之辞。在李世民的周围,早就团聚一批才能出众的文官武将,还有蓄养在外的勇士八百余人。他虽因赏赐李神通田庄事,得罪过张婕妤,但也“遍见诸妃”,“有以赂遗”。他的妻子长孙氏也在高祖和妃嫔之间,“尽力弥缝”,以争取后宫的支持,但收效不大。

武德六年以后,李世民深感“不为兄弟所容,实有功高不赏之惧”,矛盾更加尖锐了。七年六月,唐高祖避暑仁智宫(今陕西宜君西南),建成乘居守之机,私下叫庆州总管杨文干“募健儿送京师,欲以为变”。这事被揭发后,高祖大怒,召建成至宫究问,又令世民前往讨伐举兵反叛的杨文干,并说:“文干事连建成,恐应之者众,汝宜自行。还,立汝为太子。吾不能效隋文帝诛杀骨肉,废建成作蜀王,地既僻小易制,若不能事汝,亦易取耳。”世民很快平定了杨文干,但高祖在元吉与诸妃的请求及封德彝的游说下,改变主意,仍令建成回京居守,“惟责以兄弟不睦”,归罪于东宫和秦府的臣僚王珪、韦挺和杜淹,加以流放而已。后来,建成夜召世民,饮酒而酖之,世民心痛吐血,高祖因此对他说:“观汝兄弟,终是不和,同在京邑,必有忿竞。汝还行台,居于洛阳,自陕以东,悉宜主之。仍令汝建天子旌旗,如梁孝王故事。”建成、元吉认为放走世民,于己不利,暗中阻挠,一面派人上书谏止,一面派人对高祖陈说利害,高祖遂罢此议。这时建成加紧活动,翦除世民的羽翼,或进行收买。房玄龄、杜如晦皆以谗言被逐出秦府,尉迟敬德、段志玄等成为收买的对象,形势显得非常紧迫。因此长孙无忌、尉迟敬德等“日夜劝世民诛建成、元吉”,世民犹豫未决。恰在这时突厥入寇,建成荐元吉代世民督诸军北征。“元吉请尉迟敬德、程知节、段志玄及秦府三统军秦叔宝等与之偕行,简阅秦王帐下精锐之士以益元吉军”。率更丞王晊又向世民告密,说建成将乘为元吉饯行时暗害世民,并尽坑敬德等人。在这千钧一发之际,世民便与房玄龄等密商发动政变。世民向高祖密奏建成、元吉 “**”后宫,并说:“臣于兄弟无丝毫所负,今欲杀臣,似为世充、建德报仇。臣今枉死,永违君亲,魂归地下,实亦耻见诸贼!”高祖听了很惊讶,告诉他说: “明日当勘问,汝宜早参。”六月四日,世民率长孙无忌等伏兵玄武门,杀死了建成、元吉。高祖方泛舟海池,尉迟敬德戎服入见,高祖大惊,问道:“今日乱者谁耶?卿来此何为?”敬德说: “秦王以太子、齐王作乱,举兵诛之,恐惊动陛下,遣臣宿卫。”时裴寂、陈叔达等均在,高祖对裴寂等说:“不图今日乃见此事,当如之何?”萧瑀、陈叔达说: “建成、元吉本不预义谋,又无功于天下,疾秦王功高望重,共为奸谋。今秦王已讨而诛之,秦王功高宇宙,率土归心,陛下若处以元良,委之国事,无复事矣!”高祖只好表示同意,并下达“诸军并受秦王处分”的手令,才平息了这场事变。过了六天,高祖便立李世民为皇太子,并且下诏:“自今军国庶事,无大小悉委太子处决,然后闻奏。”到了八月间,便正式传位于太子,以太上皇徙居大安宫,不再预闻国事。高祖晚年亲见贞观时期的太平景象,有一次在未央宫为高级官员举行的宴会中,命突厥颉利可汗起舞,又使南越酋长冯智戴咏诗,高祖笑道:“胡越一家,自古未之有也。”太宗举杯上寿道:“臣早蒙慈训,教以文道,爰从义旗,平定京邑。重以薛举、武周,世充、建德,皆上禀睿算,幸而克定。三数年间,混一区宇,天慈崇宠,遂蒙重任。今上天垂祐,时和岁阜,被发左袵,并为臣妾,此岂智力,皆由上禀圣算。”高祖欢喜极了,宴会一直进行到深夜才罢。贞观九年(635)五月庚子,唐高祖病卒,年七十,葬于献陵(在今陕西三原)。