隋朝末年,各地农民起义风起云涌,统治阶级内部也分崩离析,不少官僚地主为了自身的利益,纷纷打起反隋的旗号,扩大自己的势力,准备夺取政权,其中最主要的是李渊集团。
李渊的祖籍陇西狄道(今甘肃临洮县),自称是十六国时期凉武昭王李暠的七世孙。李渊的祖父李虎,是北魏左仆射,封陇西郡公,因帮助宇文泰建立关中政权有功,被赐姓大野氏,官至太尉,受封为八柱国之一,位极荣贵,死后追封唐国公。李渊的父亲李昞,袭封唐国公,北周时任安州(今湖北安陆县)总管。柱国大将军。
李渊7岁时,袭爵唐国公,历任刺史、郡守、卫尉少卿等职。李渊又是隋文帝独孤皇后的姨侄,为隋朝皇亲。李渊的妻子窦氏是隋朝贵族神武公窦毅的女儿。所以,李渊家族一直是西魏、周、隋的大贵族,为关陇贵族集团之一。
613年(隋大业九年),杨玄感起兵反隋,隋炀帝调李渊为弘化(今甘肃庆阳县)留守兼知关右诸军事,以防备杨玄感。在这期间,他广树恩德、结纳豪杰,炀帝对他甚为猜忌。615年(隋大业十一年),李渊调任山西、河东黜陟讨捕,镇压毋端儿农民起义,收降1万多人,声威大震。
617年(隋大业十三年),李渊任太原留守、晋阳宫监。太原自北齐北周以来,就是天下精兵所在之地,兵源充足,粮草丰沛,储粮可供十年之用,人力物力都非常雄厚。这时隋末农民起义的烽火烧遍全国,李渊看到隋炀帝的统治不得人心,便积极发展自己的势力,伺机夺权。他命长子李建成在河东暗中结交俊杰,命次子李世民在晋阳秘密招募豪友,他们倾财赈施,卑身下士,不论其出身品行,只要有一技可称,一艺可取,能为所用,就以礼相待,广泛结纳,扩大势力。
不久,全国政治军事形势发生了重大变化,江淮起义军在江都附近击败陈棱,窦建德在河北乐寿称王,瓦岗军袭破洛口仓逼近东都,隋军主力被瓦岗军牵制在洛阳附近,无暇顾及其他地区。远在江都的隋炀帝也处于孤立无援的境地。隋王朝的统治已岌岌可危,处于风雨飘摇之中。李渊认为时机已到,617年(隋大业十三年五月),杀隋炀帝派来监视他的副留守王威和高君雅,在晋阳起兵反隋。
李渊晋阳起兵后,决定进军关中,直到长安,以号令天下。西河郡(今山西汾阳县)丞高德儒不服从李渊命令,李渊命令建成、世民率军进攻。建成、世民二人与士兵同甘共苦,遇到敌人身先士卒,冲锋在前,所过之处秋毫无犯。道路附近的蔬菜瓜果,除非出钱购买,决不擅自取食,士兵有偷盗的,一定要找到失主赔偿,军民都心悦诚服。唐军进军顺利,没有几天就攻下西河,擒斩高德儒,此外不杀一人。又在城中开仓济贫,令百姓各安旧业,很得民心,名声也传播开来。李渊高兴地说;“像这样用兵,要争夺天下就不难了。”西河告捷后,李渊建置大将军府、自称大将军,以裴寂为长史,刘文静为司马,李建成为陇西公、左领军大都督,统率左三军,李世民为敦煌公、右领军大都督,统率右三军,其余文武人员都随才授任。
617年(隋大业十三年七月),李渊任命三儿子李元吉为太原太守,留守晋阳。自己亲率大军三万,从太原出发,挥戈南下,直指长安。
唐军进军霍邑(今山西霍县),遭到隋将宋老生的拦击。正巧遇到连续多日的大雨,道路难行,唐军的军粮运输中断,兵士中还纷纷传说突厥正与刘武周联合准备乘虚偷袭太原,军心不稳。裴寂认为:太原是军事重镇,又是唐军家属所在地,应先还师太原,以后待机再起。李渊认为有道理,准备撤兵回晋阳。李世民对李渊说:“现在正是秋收季节,田野里有的是成熟的庄稼,还怕没有粮食?宋老生轻率急躁,打一仗就可以把他俘虏,刘武周表面上事奉突厥,事实上内心互相猜疑,虽然贪图太原,但也并不是不担心根据地马邑的安全。我们起义兵,以救天下苍生,应当先入咸阳,号令天下。如果遇到小的挫折就班师,恐怕失去民心,将来也难成大举。”李建成也反对回师太原。经过兄弟俩的切谏,李渊决定继续进军。八月,李渊率军直趋霍邑城边,先派建成、世民各率几十名骑兵在城下高声谩骂,宋老生恼羞成怒,率军三万人,出城交战,李渊命小部队伪装后撤,老生以为李渊害怕,就引兵前进,紧追不舍。这时,李渊命殷开山率后续部队正面迎击宋老生,李世民则以轻骑插入宋老生的背后,控制了城门。前后夹击,宋老生走投无路,被唐军斩于城下。
平定霍邑后,李渊又接连夺取临汾郡(今山西临汾市)和绛郡(今山西新绛县),绛郡通守陈叔达素有才学,闭门拒守,李渊一面攻城,一面劝降。陈叔达也看清了当时隋朝将亡的大势,就投降李渊,当了幕僚,接着,河东各县先后平定。
当李渊在太原起兵不久,有一支活跃在关中的劲旅、那就是李渊的第三女、柴绍的妻子率领的娘子军,后来她被封为平阳公主。当时,柴绍离开家乡到太原投奔李渊,平阳公主回到鄠县(今陕西户县)别墅,散卖家财,招兵买马,组织娘子军,她的家奴马三宝,能言善辩,受到重用,被提拔担任招抚使,到关中义军中到处活动,争取了何潘仁、李仲文、丘师利等义军群雄。以后,平阳公主又联合他叔父李神通的义军,攻下鄠县。平阳公主的势力迅速扩大到盩厘(今陕西周至)、武功(今陕西武功)、始平(今陕西兴平)等地。娘子军法令严明,兵力很快发展到七万人。
李渊的大女婿段纶也在兰田聚众万人起兵,与娘子军联合作战。娘子军和李神通、段纶控制了长安西部和东南部分地区,在关中策应李渊。
李渊军队渡过黄河后,领兵西进,沿途收服小股反隋武装,到达泾阳(今陕西泾阳)的时候,部众增至9万多人。平阳公主率领娘子军万余精兵,在渭北跟李世民会师,屯兵于阿城(秦阿房宫城),李建成军队也自新丰至灞上,李渊自率大军自下邽西上,形成了对长安的包围之势。
十月,各路唐军在长安城外会合,有兵20多万。李渊令各军将士严守营寨,不准进入村落侵害人民。同时,李渊多次传谕守城隋军,宣称他拥护代王,愿与隋军共同防守关中。隋军不听,李渊下令攻城。
十一月,唐军攻克长安。隋长安内史卫文升,听说李渊打进长安,活活被吓死。隋代王杨侑仍在东宫,宫廷卫队早已四处逃散,只有侍读姚思廉陪伴他。李渊进入长安后,下令封府库、收图籍,禁掳掠,同时废除隋政府的所有苛刻法令,跟人民约法12条,长安城秩序井然。
617年(隋大业十三年十一月)中,李渊立隋代王杨侑为皇帝,即隋恭帝。杨侑这年13岁。改年号为义宁,遥尊隋炀帝杨广为太上皇。李渊为假黄钺、使持节、大都督内外诸军事、尚书令、大丞相,进封唐王,位在王公之上。以武德殿为丞相府。诏令军机、国务,事情不论大小,所设的文武百官,地位不分贵贱,以及法令赏罚,全部归属丞相府掌理。接着设置丞相府官属,以裴寂为丞相府长史、刘文静为司马、李纲为司录,其余随征官员,都有封赏。又以李建成为唐世子,李世民为京兆尹、秦公,李元吉为齐公。李渊通过丞相府,掌握了所有的军政大权,牢牢控制了长安的局势,隋恭帝实际上成了傀儡。李渊本是隋臣,公开反隋,就会给敌对势力以讨叛的借口,用太上皇的名义取消隋炀帝的地位,用隋恭帝的名义招降隋官,这是他在谋略上的高人一筹之处。
618年(隋大业十四年三月),江都兵变,隋炀帝的右屯卫将军宇文化及和司马德勘在江都(今江苏扬州)发动兵变,缢杀炀帝,立秦王杨浩为帝,宇文化及自为大丞相。消息传到长安,经过李渊、李世民和裴寂等人的秘密策划,演出了一幕禅让的活剧。五月,在长安的隋朝第三任皇帝杨侑宣布退位,把皇帝宝座禅让给唐王李渊。李渊在太极殿登位称帝,改国号为唐,年号武德,这就是中国历史上的唐高祖。不久,李渊立李建成为皇太子,李世民为尚书令,封秦王,李元吉为齐王,裴寂为右仆射,刘文静为纳言,窦威、萧瑀为内史令。以李渊为首的李氏王朝正式建立起来。
李渊称帝长安时,他所统治的地区仅在关中一带,很多隋朝将领在各地割据称雄,农民起义军也各占一方,全国还没有统一。李渊不愿偏安关中,他早有雄心壮志要统一天下,于是便以关中为基地,储粮积谷、厉兵秣马,开始了统一全国的战争。
对李渊威胁最大的首先要数陇西的薛举。薛举是隋朝的金城郡(今甘肃兰州)校尉,陇西土豪,家产钜万。617年(隋大业十三年四月),驱逐隋官,自称西秦霸王,年号秦兴,不久称帝,立妻鞠氏为皇后,儿子仁杲为皇太子,迁都天水(今甘肃天水)。薛仁杲善于骑马射箭,号称万人敌,他们占领了陇右各县,众至30万,准备夺取关中,占领长安。当他们得知李渊已早一步占领长安,便派兵进逼关中,攻打扶风,李渊派李世民率军出击,薛举败归。
618年(唐武德元年六月),薛举又率精骑进攻泾阳,纵兵掳掠,关中大乱。唐军恃兵多将广,而不作积极防备。薛军抄其后,唐军大败,士兵死亡十分之五六,大将军慕容罗日侯、李守远、刘弘基战死,高墌城(今陕西长武县北)失陷。消息传到长安,京城骚动。薛举得胜后,准备驱兵直指长安,就在这时,薛举病死,薛仁杲当了西秦皇帝。为了反击薛仁杲,李渊任李世民为征西大将军,率军出征。唐军到达高墌城外,薛仁杲命部将不断挑战,李世民坚闭城门不出,养精蓄锐。双方相持60多天,薛仁杲的粮食吃完,士卒疲惫,李世民便指挥各路大军与敌军决战,在高墌城外大破薛仁杲军。接着,唐军围攻高墌城,薛仁杲见大势已去,无计可施,只好出城投降。唐军接收薛仁杲精锐部队1万多人,男女百姓5万多人。与李渊争夺关中的对手被消灭了,唐军占有陇右诸地。
在薛举起兵反隋之后,隋鹰扬府司马李轨在武威称河西大凉王,攻占张掖、敦煌等河西五郡之地。李渊为了全力对付薛举,曾采用远交近攻的办法,联合薛举后方河西的李轨,使薛举孤立。薛举败亡后,进图李轨。李轨政权由其户部尚书安修仁掌握枢密,李渊派遣安修仁的哥哥安兴贵入武威,安兴贵因为弟弟的关系,被任命为左右卫大将军。619年(唐武德二年五月),安兴贵劝说李轨归顺唐政府,李轨不听。安兴贵就俘虏了李轨,奏报李渊。李轨政权被倾覆,河西五郡并入唐境。
正当李渊在专心经略河陇、巩固关中的时候,代北的刘武周势力却也在迅速发展,不断南侵。刘武周,隋河间景城(今河北交城东北)人,迁居马邑(今山西朔县),骁勇善射,曾随隋炀帝出征,立过军功,回到马邑后任鹰扬府校尉。617年(隋大业十三年),刘武周乘天下大乱之际,纠合当地豪强,杀太守王仁恭,自称太守。依附突厥,袭破楼烦郡(今山西静乐县),占据了炀帝行宫汾阳宫(今山西省宁武县管涔山上),攻陷定襄(今内蒙古和林格尔县)。突厥封他为定杨可汗,发给他绣有狼头的大旗。不久,刘武周自称皇帝,以妻沮氏为皇后,建元天兴,设官分职,势力不断发展,俨然北方一霸。619年,刘武周勾结突厥,南侵并州(治晋阳),唐并州总管,齐王李元吉抵挡不住,晋阳告急。李渊派右仆射裴寂为晋州道行军总管,统率大军,增援晋阳,结果在度索元被刘武周打得大败,几乎全军覆没。刘武周乘胜进逼太原,李元吉弃晋阳逃归长安,晋阳失守。接着,刘武周军迅速南进,很快,河东的晋州、绛州、浍州、龙门相继陷落,关中震骇。