据《旧唐书·天文志》记载,武德九年六月一日,太白金星于白天划过长空。按照传统说法,金星白昼划过长空是预示将发生政变。六月三日,金星再次于白天划过长空,太史令傅奕向李渊报告了此事。傅奕说:“太白见秦分,秦王当有天下。”李渊信以为真,立刻召来李世民,示意他自杀,试图以此种方式避免宫廷政变。
当然,这只是传说。事实上,李渊于617年在太原起兵并迅速占领长安,李世民功不可没。甚至有一种说法称太原起兵是李世民的谋略,李渊曾答应将来册封李世民为太子,但是灭隋之后,李渊册立世子李建成为太子。在平定天下的过程中,李世民的功劳和实力逐渐强过太子李建成,李渊对此心知肚明,从各方面太子李建成都不如李世民,但是碍于历代传统,他犹豫不定。李渊犹豫不觉造成的格局,使李世民不满和李建成的妒忌和防备。在为了皇权你争我斗的时代中,骨肉亲情都显得很薄弱,李建成为了增强自己的实力,联合同样嫉妒李世民的李元吉,两人共同排挤李世民。兄弟不和,也使朝中政令相互冲突,加速了皇子的兵戎相见。
一次,李建成盛情邀请李世民到东宫去喝酒,结果李世民刚喝了几盅,忽然感到肚子痛。他警惕地迅速赶回家,一阵疼痛后,竟呕出血来。李世民心里明白,一定是建成在酒里动了手脚,经过调理,李世民逐渐康复。
见到李世民未死,又怕世民手下勇将多,不敢直接加害,于是他想把这些勇将收买过来。李建成派亲信送了一封信给秦王手下的勇将尉迟敬德,信中表示希望跟尉迟敬德交个朋友,同时送给尉迟敬德一车金银。见到这种情况,尉迟敬德自然知道太子的意思,他恭敬地对太子的使者说:“我是秦王的部下。如果私下跟太子来往,对秦王三心二意,我就成了个贪利忘义的小人。这样的人对太子又有什么用呢。”拒收一车金银。
使者转达尉迟敬德的意思之后,李建成觉得受到尉迟敬德的拒绝,气急败坏,心想秦王手下的一个手下竟然敢如此对我,何况是李世民。当天夜里,李元吉派了个刺客到尉迟敬德家去行刺,给对方点颜色看看。尉迟敬德早就料到李建成他们不会放过他,所以,晚上故意把大门打开,刺客溜进院子,隔着窗户偷看,只见尉迟敬德斜靠在床上,身边放着长矛。刺客本来知道他的名气,怕他早有防备,没敢动手,灰溜溜地回去了。
李世民一日不死,李建成的太子做的就不安稳,于是一计不成,又生一计。那时候正好突厥进犯中原,为了夺回李世民手中的兵权,李建成向李渊建议由李元吉做统帅北征突厥,希望借此把握住秦王的兵马,然后趁机除掉李世民。唐高祖任命李元吉做主帅后,又按照李元吉的请求,把尉迟敬德、秦叔宝、程咬金三员大将和秦王府的精兵都划归元吉指挥。李世民对于李建成等人的阴谋,自然了如指掌,为了保住自己现有的权力,也为了最后争得皇权,在这种危急时刻,李世民连忙找他大舅子长孙无忌和尉迟敬德商量,两人都劝李世民先发制人。李世民说:“兄弟互相残杀,总不是件体面的事。还是等他们动了手,我们再来对付他们。”但是,由于情况紧急,李世民也顾不了那么多了,在智囊团体的策划下,决定动手。
李世民很快拟好一份密奏,称李建成和李元吉二人淫乱后宫,为了防止李世民告密,要把他杀死。此密奏中说:“臣于兄弟无丝毫负,今欲杀臣,似为世充、建德报仇。臣今枉死,永违君亲,魂归地下,实耻见诸贼!”李渊看完密奏,极度愤怒,立刻回复李世民,要他于明日在宫中与李建成和李元吉两兄弟对质。
李建成和李元吉知道后,决定先入皇宫,逼李渊表态。他万万没有想到在宫城北门玄武门执行禁卫总领亲信常何本已经被李世民策反。
此时,李世民已经领到尉迟敬德、长孙无忌、侯君集、张公谨、刘师立、公孙武达、独孤彦云、杜君绰、郑仁泰及李孟尝等人,于六月四日凌晨埋伏于玄武门内,同时命高士廉释放狱中囚犯,分发武器,来增强秦王府的兵力。
到六月四日清晨,李建成和李元吉进入玄武门,走到临湖殿,发现殿边有马影闪动,心知不妙,拨转马头,回奔东宫。李世民从后面拦住他,李元吉慌乱中张弓连射三箭,结果三箭只是落到李世民马前。李世民稳稳当当地张弓对准李建成一箭使之毙命。那边李元吉也被尉迟敬德射伤落马,但并未亡。不想此时李世民的坐骑却为流箭所伤,失去控制冲入林中,致使李世民被树枝勾住腰带而附坠马。李元吉见机追赶过去,想要杀死李世民,就在那时尉迟敬德及时赶到,李元吉当场毙命。
等玄武门之变传到东宫、齐王府,冯立、薛万彻、谢叔方等人率精兵来救时,秦王府将领张公瑾神力惊人,独力将宫门关上,东宫兵将无力回天。而驻扎在玄武门的兵将大多持观望态度,两不相助。
东宫、齐王府等兵将攻打玄武门不成功,薛万彻率兵转而攻击秦王府。此时秦王府兵力大部分集中在玄武门,府中只剩几个文官留守,所以众人大惧,眼看一时三刻间就会被攻破。千钧一发之时,尉迟敬德想出妙计,将李建成、李元吉的首级割下来,送到秦王府示众。东宫、齐王府等人见首脑已死,顿时军心焕散,顿作鸟兽散。薛万彻见无法约束手下,率骑兵数十人逃离长安,躲进终南山中。李世民派尉迟敬德全身披挂,手持长矛直入宫中面见李渊。李渊大惊失色,问:“今日乱者谁邪?卿来此何为?”尉迟敬德答:“秦王以太子、齐王作乱,举兵诛之,恐惊动陛下,遣臣宿卫。”
李渊见大势已去,索性对旁边的大臣说:“不图今日乃见此事,当如之何?”李世民的亲信回答:“建成、元吉本不预义谋,又无功于天下,疾秦王功高望重,共为奸谋。今秦王已讨而诛之,秦王功盖宇宙,率土归心,陛下若处以元良,委之国务,无复事矣。”
高祖李渊有四子,建成、世民、元吉、元霸。李元霸早夭。李建成封英王、李世民封秦王、李元吉封齐王。今日形成这样的格局,李渊只能说说:“善!此吾之夙心也。”