李世民又进驻青城宫,营垒尚未建立,王世充的军队二万人从方诸门面临谷水扎阵,李世民以精锐骑兵在北邙山扎阵,令屈突通率五千步兵渡水攻击王世充,并趁机告诫屈突通道:“等到双方交战时就放烟,我当率骑兵南下。”双方军队才接战,李世民用骑兵冲锋,自己挺身冲锋在前,与屈突通里外呼应。敌军拼死作战,多次被打散又多次聚合。从早晨一直战到下午,敌军才开始退却,李世民指挥兵士追击,俘获、斩首共八千人,于是进兵屯营到城下。王世充不敢再出战,只是环城自守,以等待窦建德救援。李世民派遣诸军挖掘壕沟,环绕布置长期围守。吴王杜伏威派遣他的大将陈正通、徐召宗率精兵二千人前来在李世民军营会合,伪郑州司马沈悦以虎牢关来投降,将军王君廓响应,活捉伪荆王王行本。
恰巧窦建德率兵十余万来援救王世充,到达酸枣。萧瑀、屈突通、封德彝都因为腹背受敌,恐不是万全之策,请求退师到谷州观看形势。李世民道:“王世充粮食已尽,内外离心,我军不需攻击,可以坐收敌军破败之功。窦建德新近攻破孟海公,将官骄傲士兵怠惰,我军当进攻占据武关,扼守山川要冲。敌军假若与我军争胜负,我攻破敌军是必然的了。如果不战,十日之间王世充当会自我崩溃。若不急速进攻,敌军进入武牢,诸城刚刚归附,必定不能坚守。他们两方力量合并,还能把他们怎么办呢?”屈突通又请求解围到险要之处以等候敌军内部生变,李世民不同意。于是,留屈突通辅助齐王李元吉以包围王世充,李世民亲自率领骑兵三千五百人奔赴武牢。
窦建德从荥阳西上,筑营垒在板渚,李世民驻军在武牢,两军对峙二十多天。探听消息的人报告道:“窦建德探听到我军牲畜的饲料已尽,等候在黄河北岸放马吃草时,趁机偷袭武牢。”李世民知道他们的阴谋,于是放马在黄河北岸吃草来诱敌。早晨,窦建德果然率全部兵马到来,陈列军队在汜水之上,王世充大将郭士衡扎阵在南面,绵延数里,大声呐喊,诸将大为恐惧。李世民率几名骑兵登上高高的土丘遥望敌军,对诸将道:“贼人起兵山东,没有遇见过强大的敌人。现在渡过险要之处而叫嚣,这是没有政令的表现;逼近城墙扎阵,有轻视我们的思想。我按兵不出,敌军气势便衰竭,扎阵太久士卒饥饿,必将自我撤退,这时再来追击,可以无往而不胜。我与你们约定,必定在午时以后攻破敌军。”
窦建德排出阵势,从上午直到下午,兵士又饿又累,都坐在阵列中,又争着饮水,顷刻间又收敛退却。李世民道:“可以攻击了!”亲自率领轻装的骑兵追击引诱敌军,大军陆续赶到。窦建德回军扎阵,还来不及整顿阵列,李世民已先行攻击,攻击所向,敌军纷纷溃散。不久,众军会合作战,尘土飞扬,呼叫四起。李世民率史大奈、程咬金、秦叔宝、宇文歆等挥动大旗冲入,直接突入到阵后,张挂军旗。敌人回头看见官军旗帜,全军崩溃。追逐攻打三十里,斩首级三千多,俘虏贼众五万,在阵中活捉窦建德。
李世民责备他道:“我兴师问罪,本在王世充,得失存亡,不干你事,为什么越过边境,冒犯我军锋锐?”窦建德恐惧的两腿发抖说:“现在我假若不来,怕麻烦你远远地攻取我!”随后,李世民将窦建德带到东都城下。王世充很恐惧,带领他的官属两千多人到军门请求归降,由此山东全部平定。李世民进入宫城,令萧瑀、窦轨等人封存守卫府库,什么东西都不取,只令记室房玄龄收取地图与户籍。接着杀了共同作恶的段达等五十多人,冤枉被囚禁者全部释放,无罪而被杀者加以祭祀并写祭文致以哀悼。用酒食款待将士,按品级等第颁赐物品。李渊听说此次大捷后,令尚书左仆射裴寂在军中慰劳,并亲手写诏书道:“隋朝分崩,崤山、函谷关隔绝。两雄会合,一朝清平。军队已经获胜,更没有死伤。做臣子的不惭愧,做君父的不担忧,都是你的功劳。”
李世民班师凯旋,亲自披挂黄金铠甲,排列一万骑兵,穿铠甲士兵三万人,前后部都敲鼓吹号,在太庙贡献俘虏的二伪主窦建德、王世充以及隋朝器物车乘。李渊认为自古以来旧的官阶与特殊功劳不相称,于是另外发徽号,以表彰李世民的功勋德望。加李世民天策上将封号、陕东道大行台,位在王公之上,增加食邑二万户,连以前的共计三万户,赐给金车一辆,王公之衮衣和冠冕一套,玉璧一双,黄金六十斤,前后部鼓吹及九部之乐,仪仗四十人。
这时海内渐渐太平,李世民于是专心一意读经史子集,开文学馆以接待四方才学之士,行台司勋郎中杜如晦等十八人为学士,每次在阁下轮流值班,李世民则降低身份以温和态度与学士们讨论经义,有时谈论到半夜才结束。
不久,窦建德旧将刘黑闼举兵造反,占据洺州,李世民统领全军向东去讨伐他,进军肥乡,分兵断绝刘黑闼运粮的通道,双方对峙两个月。刘黑闼被迫急于求战,率领步兵、骑兵二万人,南渡洺水,早晨便迫近官军。李世民亲自率领精锐骑兵,攻击刘黑闼的骑兵,攻破了他,乘胜冲击践踏他的步兵,敌兵崩溃,斩首级一万多。先前李世民派人筑坝堵塞洺水上流使水流变浅,让刘黑闼得已渡水。等到作战之时,才命令挖开拦河坝,大水冲到,一丈多深,敌兵已经战败,逃到水中都淹死了。刘黑闼与二百多骑兵往北逃到突厥,李世民全部俘虏了刘黑闼的部众,河北平定。当时徐圆朗带兵在徐、兖二州阻碍李世民,李世民这时便回师讨伐平定了徐圆朗,于是河、济、江、淮所有州郡城镇都平定,李渊加授李世民左右十二卫大将军。
突厥侵犯边境,太宗与突厥军在豳州相遇,带领一百骑士随从与突厥首领会谈,结盟后突厥军撤离,李世民晋升为中书令。
皇太子李建成、齐王李元吉想要谋害李世民,李世民率长孙无忌、尉迟敬德、房玄龄、杜如晦、宇文士及、高士廉、侯君集、程咬金、秦叔宝、段志玄、屈突通、张士贵等,在玄武门杀了李建成、李元吉。李渊大惊,立李世民为皇太子,各种政务皆由李世民决断。
李世民于是放掉宫廷花园中所养的鹰犬,并停止收取各方所进贡的奇珍异宝,政理崇尚简要严肃,天下人大喜。又命令百官各个呈上封章奏事,详细陈述安定人心治国的关键。六月十三日,命令道:“依照礼法,皇帝的两个名字不要为某一个字而避讳。近代以来,两个名字都避讳,废缺地方已经很多,任意避讳,有违经典。那些官号、人名、公私文籍图书,有‘世民’两个字不连续的,并不须要避讳。”撤销幽州大都督府,废除陕东道大行台,设置洺州都督府;废除益州道行台,设置益州大都督府。幽州大都督庐江王李瑗图谋叛逆,被废弃为普通百姓,撤销天策府。
李渊传位给李世民,李世民在东宫显德殿即位,派司空、魏国公裴寂在南郊烧柴祭天,大赦天下,以来由于直言被责罚流放的人都放回。文武官员五品以上先前无爵位者赐给爵位一级,六品以下加勋级一等,天下免赋税徭役一年,放宫女三千人回家。
突厥颉利可汗、突利可汗入侵泾州,突厥入侵武功,京师戒严,突厥入侵高陵,行军总管尉迟敬德与突厥在泾阳大战,大破突厥,斩首级一千多。颉利可汗到达渭水边,李世民与颉利隔渭水对话,斥责他背弃定约,不久大军陆续到达,颉利可汗见唐军军容盛大威严,又知道执失思力被捕,由此大为恐惧,于是请求和解,诏令同意。李世民当天回宫,又驾到便桥,与颉利可汗杀白马而设盟誓,突厥退走。
颉利可汗献马三千匹,羊一万口,李世民不接受,命令颉利归还掳掠的人口。李世民率领所有禁军步骑将领在显德殿殿廷学习射箭,他亲自面试,射中者随即赏赐弓刀、布匹绸缎。朝中有很多劝谏的臣子,但李世民不采纳,从此以后,士兵都成精锐部队。诏令私人之家,不得擅权建立妖神,随意设立不适当的祭祀,不合礼法的祭祀祈祷,一概禁绝,除了龟甲兽骨五种占卜以外,其他杂七杂八的占卦卜卦,也都停止,禁止使用。
立中山王李承乾为皇太子,将没有建立功勋的皇族中的郡王降级为县公,讯察记录囚犯的罪状,将长沙郡王李恪晋封为汉王,宜阳郡王李佑晋封为楚王。
隋朝杨广造成隋末严重大乱,导致人口锐减,使得武德年间、贞观初只有200万户,李世民经常以亡隋为戒,注意叮咛自我克制欲望,嘱咐臣下莫恐上不悦而停止进谏,励精图治,在政治上,既往不咎,知人善任,从谏如流,整饬吏治;经济上,薄赋尚俭,为政谨慎;亦致力复兴文教,令隋末动荡之局得以稳定下来。
李世民十分重视吏治的清明,曾命房玄龄省并冗员,派李靖等13名黜陟大使巡察全国,考察风评;又亲自选派都督、刺史等地方官,并将其功过写在宫内屏风上,作为升降奖惩的依据。另又规定五品以上的京官轮流值宿中书省,以便随时廷见,垂询民间疾苦和施政得失,百官遂自励廉能,直接提高政府效率。
在军事上,李世民多次对外用兵,先后平定突厥、薜延陀、回纥、高昌、焉耆、龟兹、吐谷浑等,由是唐朝声威远播,四方宾服。经李世民君臣二十三年的努力,社会安定、经济恢复并稳定发展,对外武功显赫,人口达到三百八十多万户,奠下了唐高宗、武则天、唐玄宗年间大唐盛世的基础,史称‘贞观之治’。
太子李承乾以谋反之罪被废,唐太宗遂将其第九子晋王李治立为太子,并对太子严加教管,晚年李世民着《帝范》一书以教戒太子李治,总结了他的施政经验,同时自评一生功过,并对其告诫说:“你应当以古代的圣哲贤王为师,像我这样,是绝对不能效法的。因为如果取法于上,只能仅得其中,要是取法于中,就只能仅得其下了。我自从登基以来,所犯过失是很多的:锦绣珠玉不绝于前,宫室台榭屡有兴作,犬马鹰隼无远不致,行游四方供顿烦劳。所有这些,都是我所犯的最大过失,千万不要把我作榜样去效法。”
命李治到金掖门代理国事,因病医治无效,驾崩于终南山上的翠微宫含风殿,初谥文皇帝,庙号太宗,葬于昭陵。