当初,五原(今内蒙古自治区五原县)通守张长逊因中原大乱,遂依附于突厥,被突厥人任命为割利特勒。薛举的智囊郝瑗看到,要想打败李渊,占领长安,单靠薛举之力是难以奏效的,因此,他建议薛举北连梁师都,互为犄角,再给突厥送去重金,购买突厥的战马,合击长安,薛举答应了。当时,启民可汗的儿子、始毕可汗的弟弟阿史那咄苾时任莫贺咄设,牙帐设在五原以北,薛举派人与咄苾联络,咄苾答应出兵,一起夺下长安。而这一计划却很快传到了李渊的耳中,他赶忙派都水监宇文歆出使突厥,给咄苾送去丰厚的礼物,又给他分析了利弊,终于促使咄苾又改变了主意。趁热打铁,宇文歆又说服咄苾让张长逊入朝,把五原之地还给中国,咄苾又答应了。四月五日,五原以及长安西南的武都(今甘肃省武都县)、宕渠(今甘肃省宕昌县)等地也都归顺了长安政权,李渊任命张长逊为五原太守。张长逊又伪造朝廷诏书送给了咄苾,显示长安朝政洞悉联军南下的阴谋,咄苾遂拒绝了薛举、梁师都等人的请求。
在整个事件中,张长逊立下了大功,当薛举联络突厥、梁师都时,是他及时向李渊报信,让长安方面提前做好了准备工作,破坏了薛举联络突厥偷袭长安的阴谋。张长逊与李渊并无多少渊源,他之所以会帮助李渊,也从反面说明了李渊推出代王杨侑这面旗帜对隋朝旧官僚们还是有相当大的吸引力的。李渊在得到张长逊的密报后,一方面命宇文歆迅速来到莫贺咄设那里游说,另一方面则急命东征之军西撤。这当是东征军队西撤的直接原因,虽然李世民是右元帅(《旧唐书·高祖》称:“世子建成为抚宁大将军、东讨元帅,太宗为副,总兵七万,徇地东都。”),但他也是没有权力决定大军是否西撤这一重大问题的。
四月二十日,李建成、李世民等人回到了长安。
李建成、李世民率领的长安军队前脚走,宇文化及后脚就来到洛阳附近。
当时,瓦岗军已经占领了金墉城、偃师、回洛仓等东都周围的据点,东都留守政府只能龟缩在城内,号令不出四门,人心不稳。朝议郎段世弘等人暗中计划投降长安军队,正巧长安军队西撤了,遂派人投奔李密,约定在四月二十日夜晚打开城门,迎接瓦岗军入城。但段世弘等人还没发动,阴谋就败露了,越王杨侗命王世充将段世弘等人全部斩杀,李密听说后,也只好作罢。
宇文化及率领十余万大军,浩浩荡荡一路北上。自从扑灭了麦孟才、沈光的兵变后,宇文化及占据六宫,宛如皇帝一般。每天面南端坐在御帐之内,遇到有人前来请示,宇文化及总是一声不吭,一直等到下班后,才把送来的各种请示材料拿出来,与亲信唐奉义、牛方裕、薛世良、张恺等人一起研究讨论,做出决断。宇文化及把他拥立的小皇帝杨浩安置在尚书省内,由十余名卫士看管,只派一名秘书传递文书,令其画押,其余百官不得朝见。
当他们行至彭城(今江苏省徐州市)时,因运河不通,又抢来两千辆百姓的牛车,用于装载宫女、珍宝,至于武器、铠甲,全部让士兵们自行携带,路途遥远,将士们身心俱疲,开始牢骚起来。因司马德戡掌握着全部的骁果,宇文化及掌握大权之后,就对他心存猜忌,对司马德戡明升暗降,晋升其为礼部尚书,赐爵温国公,加光禄大夫,却把骁果分配给诸将统领,把司马德戡弄得很不高兴。司马德戡把得到的赏赐全部又转送给了宇文智及,在宇文智及的劝说下,宇文化及这才同意把后军的一万多人交给司马德戡带领。此时,司马德戡偷偷对赵行枢说:“你算是害苦我了!如今的天下需要的是一个能够拨乱反正的英雄,而宇文化及却愚蠢昏聩,身边又围绕一群小人,眼看我们将面临失败,你看该如何是好?”赵行枢回答:“废掉他又有什么困难的?这全取决于我们!”于是,司马德戡、赵行枢与众将李本、尹正卿、宇文导师等人阴谋率领后军袭杀宇文化及,另立司马德戡为主,又派人前去联络在曹州(今山东省曹县)的变民头领孟海公,结为外援。因需要等待孟海公的答复,所以,司马德戡等人没有立即发动。
没有不透风的墙。
许弘仁和张恺不知通过什么渠道得到了这一消息,二人密报给了宇文化及,宇文化及派宇文士及假装打猎,偶然来到后军。司马德戡不知事情已经败露,出营迎接,宇文士及当场下令将其逮捕,押到了中军。宇文化及对司马德戡说道:“我与你同心协力,一起平定海内,可谓九死一生。如今,刚刚完成大事,正要一起享受荣华富贵,你又为何要谋反呢?”司马德戡回答:“我们杀死昏君,是因为忍受不了他的荒淫残暴;拥立你,可是你却比隋炀帝还过分,我也是被逼无奈,才这么做的。”宇文化及下令将司马德戡勒死,并杀死了他的十余名同党。
孟海公畏惧宇文化及的强大,率领部众拿出酒肉款待宇文化及。李密率军固守巩县(今河南省巩义市),不让宇文化及西进。宇文化及遂率军折向东北,东郡(今河南省滑县)通守王轨献出城池,投降了宇文化及。