武德九年(626年),秦王李世民与太子李建成、齐王李元吉结下嫌隙以后,认为洛阳地势优越便利,打算离开长安,退守洛阳以自保,所以就让行台工部尚书温大雅镇守洛阳,派秦王府车骑将军张亮率领亲信王保等一千多人前往洛阳,暗中结交崤山以东的豪杰。
李元吉告发张亮图谋不轨。
之后李建成和李元吉在夜间设宴邀请李世民,暗中在酒中下毒。
李世民突然心痛,吐血数升。
事后李渊告诉李世民,表示应当派他返回行台,留居洛阳,陕州以东的广大地区都归李世民主宰,但因李建成等反对而作罢。
李建成恐惧秦王府的强大,建议李渊将房玄龄、杜如晦逐出秦王府,严令不得相见。
秦王府文武多被免官外放,府中只剩长孙无忌、高士廉、尉迟恭和张公谨等几人。
众人感到惶惶不可终日,于是劝李世民尽快采取行动杀掉李建成,逼李渊退位。
六月西日,李世民率领秦琼、尉迟恭、程知节、侯君集等人在玄武门设下埋伏。
太子李建成和齐王李元吉奉召入宫,行至临湖殿察觉不对。
李建成:“父皇召见为何在临湖殿,不在主殿呢?”
李元吉:“我也觉得不对,要不今日先离开,择日再来?”
李世民发现两人打了退堂鼓,于是一边大呼一边在后面猛地追赶,取出弓箭搭上弓弦,一箭射出,羽箭射中李建成,李建成当场身亡,东宫和齐王府的冯立、薛万彻、谢叔方等将领得知李建成遇害,带领二千兵马猛攻玄武门,将玄武门守将敬君弘、吕世衡等斩杀。
薛万彻鼓动士兵去攻打秦王府,秦王府诸人大惊失色,于是割下李建成与李元吉的人头示众,使东宫兵马失去斗志。
在这场政变中,李建成的五个儿子全部被杀,全家被逐出皇室宗籍。
六月八日,高祖李渊下诏立李世民为皇太子,军政大事都由李世民决断。