但是,李建成派杨文干招兵买马的事情,被人报告李渊。李渊大怒,找了一个借口,召李建成到仁智宫来。李建成知道大事不好,不敢前去。有人劝李建成干脆占据长安,自己当皇帝;也有人为李建成出主意,叫他单人匹马去见父亲请求宽恕。李建成采纳了后一种意见。他见到李渊后,拼命叩头,请求宽恕,由于用力过猛,几乎气绝身死。李渊仍然怒不可遏,当晚把李建成软禁在帐篷里,只给他吃粗麦饭。随后李渊又派司农卿宇文颖到庆州去召唤杨文干回长安。哪知宇文颖却把真实情况都告诉了杨文干,于是杨文干干脆起兵造反。
李渊得到消息,急忙召见秦王李世民,要他亲自去镇压杨文干,并又一次许诺:回来后就让李世民当太子,而把李建成派到四川去当蜀王。
然而,李世民率军出征刚刚离去,李元吉以及李建成的亲信,就轮流不断地在李渊面前为李建成辩解。李渊的态度很快来了个急转弯,他让李建成重新回到京城去留守,不再追究他谋反的问题,而只责备他们兄弟不能和睦相处。到李世民平定了杨文干的叛乱回来,李渊已完全忘掉了改立太子的诺言。
此后,李建成和李元吉一伙,不断在李渊面前造谣中伤李世民。李渊对李世民十分恼火,仅仅因为突厥人不断入侵,他还需要李世民带兵抵御,才没有对李世民下毒手;然而,每当李世民建立了新的功绩回来,李建成,李元吉对他的忌恨就更加深了一层,而李渊对李世民的戒备心也更重了。
父子兄弟之间,渐渐酿成了水火不相容的局面。
面对着这样的局势,李世民一直采取容忍退让的态度。因为对方毕竟是他的父亲和兄弟啊!
这样到了唐高祖武德九年(626 年),李建成真的下毒手了。一天晚上,李建成请李世民到他家里去参加宴会,却在酒中暗暗下了毒药。李世民饮了酒后,突然心痛如绞,吐了几大碗鲜血。幸亏部下赶紧把李世民送回了自己家中。李渊得到消息后,亲自去看望李世民,又对李建成说:“秦王一向不能喝酒,今后更不可以在晚上让他喝酒。”
后来,李渊同李世民单独谈话,说:“当初,是你第一个主张起义,平定天下时,你又立了大功。我本打算封你为太子,是你坚决辞让;我想想建成是大哥,我也不忍心剥夺他的继承权。现在你们兄弟不能相容,大家挤在京城里,难免发生冲突。我想让你住到洛阳去,东边半个国家的事情由你作主,我特许你使用天子专用的旗帜礼仪。”李世民听了,痛哭流涕,表示不愿离开父亲。李渊说:“天下本是一家,洛阳与长安又相距很近,我想念你的时候,就会去看你的。你不用伤心。”
李世民听从李渊安排,准备出发去洛阳。李建成、李元吉在一起商量说:“如果让秦王前往洛阳,掌握了那一大片土地和大批军队,以后谁都没法控制他!还是把他留在长安好对付。”他们派了几个人去向李渊告密,说李世民的部下听说要去洛阳,都高兴得手舞足蹈,看样子,他们这一去,是再也不会回来了!”李渊对李世民的猜忌之心,又超过了爱子之心,结果又改变了主意,不许李世民去洛阳了。
李元吉还不罢休,请求李渊干脆杀掉李世民,以绝后患。李渊说:“他有平定天下的大功劳,又没有明显的罪状,有什么借口杀他呢?”