唐高祖李渊有四子,三子玄霸早亡,其余长子建成、次子世民、四子元占。高祖以建成为太子、世民为秦王、元吉为齐王。秦王李世民有勇有谋,战功显赫,而且手下有一批人才,文有房玄龄、杜如晦等,号称十八学士;武有尉迟敬德、秦叔宝等著名勇将。太子李建成的战功不如李世民,又见其弟谋略过人,手下人才济济,恐其夺位,故与四弟齐王元占联合排挤李世民。
建成、元吉知道唐高祖宠爱一些妃子,就经常在这些宠妃面前拍马送礼,讨她们的欢喜。李世民就没有这样做。李世民平定东都之后,有的妃子私下向李世民索取隋官里的珍宝,还为她们的亲戚谋官做,都被李世民拒绝了。于是,宠妃们常常在高祖面前说太子的好话,讲秦王的短处。唐高祖听信宠妃的话,跟李世民渐渐疏远起来。624年,庆州总管杨文干叛乱,牵涉到了太子李建成,李渊命李世民讨伐,还许诺在平定后立他为太子。但事后,李渊又改了主意,这无疑又加剧了兄弟之间的争夺。
有一次,太子李建成晚上找李世民喝酒,在酒里下了鸩毒,李世民心痛剧烈,幸亏淮安王李神通将李世民送回秦王府才得救。这次谋害使李世民下了决心除掉对方。建成、元吉想害李世民,但是又怕世民手下勇将多,占不到便宜,就想先把这些勇将收买过来。建成私下派人送了一封信给尉迟敬德,表示要跟尉迟敬德交朋友,还给尉迟敬德送去一车金银。尉迟敬德说:“我是秦王的部下。如果私下跟太子来往,对秦王三心二意,我就成了个贪利忘义的小人。这样的人对太子又有什么用呢?”说着,他把一车金银原封不动地退了。李建成和李元吉并没有就此罢休,在李渊的支持下将房玄龄和杜如晦调出了秦王府,削弱了李世民的力量。
恰逢突厥南侵,李建成和李元吉觉得时机到来,便由李建成建议让李元占代替李世民北伐突厥,李渊同意了,他们就进一步提出,调秦王的部下大将尉迟敬德和秦叔宝等人随同出征,还要求将秦王的精兵划归李元吉统领。李建成和李元吉商议在出兵饯行的时候,派人将李世民刺死。太子李建成的一个属官得知后,马上向李世民报告了这个机密消息,李世民决定先下手,以免后患。
李世民向李渊控告李建成、李元吉二人淫乱后宫,并欲冤杀他,奏章中有一句:“臣于兄弟无丝毫负,今欲杀臣,似为世充、建德报仇。臣今枉死,永违君亲,魂归地下,实耻见诸贼!”李渊看后愕然,叫兄弟三人一起进宫,由他亲自查问。李世民率领尉迟敬德、长孙无忌、侯君集、张公谨、刘师立、公孙武达、独孤彦云、杜君绰、郑仁泰及李孟尝等人埋伏于玄武门内,同时命高士廉释放狱中囚犯,分发武器,来增强秦王府的兵力。李建成没有收买成李世民的将领,李世民却成功地收买了李建成的将领,玄武门守将便是被收买的李建成的属将。正因为李建成认为有自己的人在,才敢于上朝去。李建成和李元吉发觉守门的士卒不是自己的属下,拨转马头,回奔东宫。
但此时李世民骑马赶来,双方发生了激战,李建成心头张弓连射3箭,但心慌意乱之下3次都没能将弓拉满,以致3箭未射到李世民马前已经力衰而落。李世民却勒停坐骑,稳稳当地对准李建成一箭射出,当场将之射杀。李元吉也被尉迟敬德射杀。玄武门的事情很快传到东宫、齐王府,冯立、薛万彻、谢叔方等人率精兵求救,攻打玄武门不成功,又转而攻击秦王府。尉迟敬德将李建成、李元吉的首级割下来,送到秦王府示众。东宫、齐王府等人见首脑已死,登时军心涣散,顿作鸟兽散。
随后尉迟敬德进宫面圣,气吁吁地说:“太子和齐王发动叛乱,秦王已经把他们杀了。秦王怕惊动陛下,特地派我来保驾。”李渊不知道如何才好。宰相萧瑀说:“建成、元吉本来没有什么功劳,两人妒忌秦王,施用好计。现在秦王既然已经把他们消火,这是好事。陛下把国事交给秦王,就没事了。”李渊只好宣布建成、元吉罪状,命令各府将上一律归秦王指挥,立李世民为太子。八月,李渊退位,李世民登基史称唐太宗,年号“贞观”。