魏征对窦建德深感失望,他决定去长安投靠唐太子建成。世民在武牢关外设下埋伏。窦建德果然中计,埋伏在各处的唐军纷纷冲出,与窦的军队展开激战。窦在乱军中被活捉。世民就地解散了五万名俘虏,同时规劝窦本人也归顺大唐。王世充见窦已被俘虏,最后的希望也已破灭,只得开城投降。胜利的消息传到长安,李渊没想到世民竟然一次除掉了两个心头大患,但秦王的功劳又一次触动了他的心事,世民在各方面的表现都超过了太子建成。他向心腹大臣裴寂提出想让秦王做太子的想法。裴认为太子之位事关重大,还是从长计议。李渊只好把这件事暂时搁置。世民率领军队进入了洛阳城。纪律严明的唐军入城后没有引起洛阳城的骚乱,但因为长达一年的死守,洛阳城中已经是一片破败的景象。