武德九年六月初四(626年7月2日),秦王李世民预先在玄武门埋下伏兵,率领长孙无忌、尉迟敬德、房玄龄、杜如晦、宇文士及、高士廉、侯君集、程知节(程咬金)、秦叔宝、段志玄、屈突通、张士贵等人一起入朝。李渊的宠妃张婕妤探知了李世民的谋划后,暗中将此事提前告知了太子李建成,李建成于是和李元吉私下里谋划策略,李元吉认为既然李世民已有埋伏,建议李建成应该称病不朝,李建成则认为京城防备严密,李世民伤不了自己,便没有在乎。此时,李渊已经将裴寂、萧瑀、陈叔达、封德彝、裴矩等人召集前来,准备当场查验李建成、李元吉淫乱后宫这件事情。
李建成、李元吉来到临湖殿后,察觉情形不对,发掘情况有变后,立即向东掉转马头,准备返回东宫和齐王府。李世民看到他们后紧跟在后面呼唤他们,李元吉已经知道了李世民的计划,心虚之下,先急忙张弓搭箭射向李世民,但由于心急,一连两三次都没有将弓拉满,箭没有射中。李世民见李元吉已经动手,也随即搭弓射箭,当场射杀了李建成。尉迟恭带领着七十多名骑兵相继赶到,他身边的将士用箭射中了李元吉,李元吉跌下马来。可就在此时,李世民的坐骑受到了惊吓,带着李世民驰入玄武门旁边的树林中,李世民被林中的树枝挂住,从马上摔下,倒在不起,李元吉迅速赶到,从李世民手中夺过弓来,准备用弓箭勒死李世民,就在这时尉迟恭快马奔来大声喝住了他,李元吉慌忙之下只得赶紧放开李世民,想快步跑入武德殿寻求李渊的庇护,但尉迟恭迅速追上,射杀了李元吉。
太子李建成的部下、东宫翊卫车骑将军冯立得知李建成被杀后,叹息的说道:“我在太子生前多次蒙受他的恩惠而无以报答,现在太子一死自己便要逃之夭夭吗!”于是,他与副护军薛万彻、屈直府左车骑谢叔方率领东宫和齐王府的精锐兵马两千多人,快马赶到了玄武门,准备为太子和齐王报仇。危急时刻,张公谨占了出来,他臂力过人,肚子一人关上了巨大的城门门,挡住了冯立等人,冯立等人被大门挡住无法进入。守卫玄武门的将领云麾将军敬君弘挺身出战,与中郎将吕世衡大声呼喊着向敌阵冲杀过去,但因为势力悬殊,被东宫将领冯立所杀,所部人马全部战死。
把守玄武门的士兵与东宫薛万彻等人奋力交战,战斗持续了很久,薛万彻擂鼓呐喊,锐不可当,准备进攻秦王府,这时,尉迟恭提着李建成和李元吉的首级给薛万彻等人看,东宫和齐王府的人看到他们的大王已丧命,再打下去也没有什么意义了,于是再也无心作战、迅速溃散,薛万彻与骑兵数十人则逃向终南山中,冯立则丢掉兵器,落荒而逃。
政变发生时唐高祖李渊正在宫内的海池上划船,李世民让尉迟恭入宫担任警卫。尉迟恭身披铠甲,手握长予,径直来到唐高祖李渊所在的游船上。李渊看到后大惊,问他说:“你来这干什么?今天作乱的人是谁?”尉迟恭回答说:“太子和齐王起兵作乱,秦王已经将他们诛杀,秦王殿下担心惊动陛下,故派臣前来宫中担任警卫,保护您的安全。”李渊听后也大概已经明白发生了什么,对裴寂等人说道:“不料今天竟然会出现这种事情,你们认为现在应该怎么办呢?”萧瑀和陈叔达思索了片刻后,顺势说道:“太子和齐王本来就没有参与举义兵反抗隋朝的行动,又没有为天下立下功劳,他们嫉妒秦王功劳大、威望高,便一起策划行不轨之事,现在秦王已经诛杀了他们,秦王功盖宇宙、天下归心,陛下如果能够立他为太子,将国家大事委托于他,就不会再生事端,国家也就安定了。”眼看木已成舟,形势已经无可挽回,唐高祖李渊说:“好!就这么办吧,这正是我一直以来的心愿啊。”其实这在当时的情境中来说,尉迟恭已经多少有些逼迫李渊的意思了。
当时,宿卫军和秦王府的兵马与东宫和齐王府的亲信兵马交战还没有停止,尉迟恭继续请求唐高祖李渊颁布亲笔敕令,命令各军一律接受秦王的处置,李渊听从了他的建议。天策府司马宇文士及从东上阁门出来宣布敕令,随着赦令颁布,双方的战斗骤然停止,众人便这样安定了下来。李渊又让黄门侍郎裴寂前往东宫开导原太子李建成麾下的诸位将士,将士们在裴寂的劝说下纷纷散去。紧接着,李渊召李世民前来,抚慰他说:“近些日子以来,我险些被一些没有根据的谣言蛊惑,险些伤了我们父子之间的情分呀!”李世民听后跪了下来,伏在唐高祖李渊的胸前,号啕大哭了良久。
太子和齐王一党已经被打倒,为了除去后患,日后产生不必要的枝节,李建成的儿子安陆王李承道、河东王李承德、武安王李承训、汝南王李承明、钜鹿王李承义,李元吉的儿子梁郡王李承业、渔阳王李承鸾、普安王李承奖、江夏王李承裕、义阳王李承度等人均被李世民等人设计伏击诛杀,并全部革除宗籍。
秦王府诸位将领们准备将李建成和李元吉身边的一百多名亲信全部诛杀,并将他们的家产抄没,尉迟恭提出意见,再三争辩说:“殿下,所有的罪孽都是太子和齐王两个元凶所犯下的,现在他们已经被伏诛了,倘若这件事还要牵连他们的党羽,那么因此受牵连的人就越来越多,就不是谋求安定的做法了!”李世民和麾下一众谋士们商量了一番后同意了尉迟恭的意见,于是诸将领们停止了对太子和齐王余党们的追杀。当天,李渊颁布诏书大赦天下,叛逆的罪名只加给了李建成和李元吉二人,对其余的党羽,一概不加追究,僧人、尼姑和男女道士都应当依照原先颁布的诏令处理,国家的各项事务,都交由秦王李世民处置。
武德九年六月初五(626年7月3日),原太子党的冯立和谢叔方见天下大势已定,都主动出来领罪,薛万彻躲起来以后,李世民多次让人转告他,不会追究他的罪责,他也在确定了自己的安全以后才重新出山。李世民感慨地说:“他们这些人都能够忠于自己所事奉的人,都是忠心耿耿的义士啊”!于是便宣全部布赦免了他们。这件事也能从一定程度上看得出秦王李世民的胸襟,所赦免的这些人都是原来李建成和李元吉账下的亲密臣子,甚至有一些还参与过迫害李世民一派的行动,现在胜利的天平全部倒向李世民,在将生杀大权掌握在自己手中后,面对曾经的仇敌,能做到宽恕并放过这些人对一位皇帝来说也是一份难得的气概。