公元588年十月,杨坚终于打破了此前让人费解的七个多月的沉默,在寿春成立淮南行省,标志着一场大举伐陈之战即将开打,即使再愚钝的人也能看出大战在即,所以隋军将士全都做好战斗准备,只等皇帝杨坚一声令下。
陈后主似乎也感觉到形势有些不对,但他还没有意识到问题的严重性,还希望通过外交手段解决与隋朝之间的矛盾,于是他派使者前往长安开展外交,但此时杨坚已经没有耐心再与南陈周旋,立即将南陈使者软禁起来。
为了给伐陈之战讨一个好彩头,杨坚在十月二十八日率领文武百官,在太庙前举行了盛大的告庙仪式,同时正式拜将出征。杨坚望着盔甲鲜明、精神抖擞的将士们,用坚定的语气下达了征讨南陈的命令。
隋军的整体作战计划是∶东至沧海西到巴蜀,在千里长江上全线出击。晋王杨广出六合(今江苏南京六合区),杨俊出襄阳(今湖北襄阳),清河公杨素出信州,荆州刺史刘仁恩出江陵,宜阳公王世积出蕲州,新义公韩擒虎出庐江,襄邑公贺若弼出吴州,洛丛公燕荣出东海(今江苏连云港),各路大军共计五十一万余人,全都受晋王杨广节度。
十一月十日,杨坚亲率大军到达距潼关三十里的定城,全军在这里隆重誓师,当时将士们排山倒海般的高呼声,让杨坚十分激动,他跨上战马亲自护送大军出潼关。
进入十二月,秦王杨俊率领三十位行军总管,共计十余万人进驻汉口,准备大规模渡江进攻武昌。陈后主见形势危急,急令驻扎峡口的周罗喉率领上游军队回防,让大将荀法尚带领数万军队屯驻鹦鹉洲。陈军一有动向,杨素立即在长江上游发动攻势,率领大军出三峡,正式拉开了平陈之战的大幕。
杨素兵出峡口,在山高水急的狼尾滩为陈将戚昕所阻,担任司马的李安建议∶北方人不擅长水战,南陈依靠险要泊船,必然会轻视隋军没有准备,利用夜色趁机偷袭,可以大破陈军。
事实上,隋军的战舰虽然体积大,但在实战中也没有十足的把握,所以为了将自己的优势尽量扩大,杨素采纳了统领水军的将领李安的建议,用夜间突袭的方式,向陈军发起攻击,同时派出两路精兵,顺着长江两岸迅速行进,以攻陷陈军大营,而后水陆呼应,一举冲破峡口。
隋军在杨素的指挥下所向披靡,攻陷了南陈多处战略要地。南陈在长江上游的兵力完全为杨素和秦王杨俊所钳制,自顾不暇之际也就无力回军援救都城建康。
杨素统领的大军从蜀中走出来,对隋军整体的攻势而言,无疑具有战略意义,尤其是水军的胜利,更是意义重大。要知道南陈是比隋军擅长水战的,杨素这一战打破了南陈水军不可战胜的神话,有助于改变当时普遍存在的"南船北马"的观念,对下游人马更是个很好的激励,因此杨坚得到消息后,立即赏赐水军将领李安,晋升为大将军,封郢州刺史,作为全军榜样通令嘉奖。
杨素成功兵出峡口,本来在战略上就对南陈十分不利,陈后主居然此时又给了隋军一个绝妙的战机,甚至说是一个稍纵即逝的机会,杨坚将其牢牢地把握。
当时后梁的萧岩、萧谳投奔南陈,陈后主表面上热情欢迎,但内心十分猜忌。所以将两个人带来的部众全部遣散,分派两个人担任地方刺史,还安排大将军任忠镇守吴兴监视两个人。到了年底,陈后主忙于举办新年庆典,让萧岩、萧谳一起参加,同时命令沿江防线的将领们也都回京参加,其实是向萧岩、萧谳炫耀军威,已达到震慑二人的目的。向这两个人示威完全是昏庸行为,造成了沿江防线舰船的空虚,正应了薛道衡所说的话∶陈朝气数已尽。
然而陈后主的昏庸不止于此,南陈晋熙王陈叔文担任湘州(今湖南长沙)刺史,在任多年颇有政绩,却遭到了陈后主的猜忌,被迫征回朝廷,但是他的职位陈后主又没选择合适的人接任,而是将这个职位交给了自己的宠臣施文庆。施文庆升了官当然高兴,但是他就擅长溜须拍马,根本没有能力担任地方大员,而且他还担心自己离开京城后,会为京城内的政敌所攻击,所以迟迟不肯到湘州赴任,这样一来湘州就没有人主持政务。
当时护军将军樊毅看到都城建康防御薄弱,就提醒朝廷要在京口(今江苏镇江)和采石(今安徽当涂)两地增派战船防守。他的建议得到了满朝文武的赞同,但施文庆却担心这样做会损失自己的势力,以至于后来隋军大兵压境时,施文庆也是无动于衷,甚至还买通宰相班子成员江总一起建议陈后主不能向隋朝示弱,陈后主竟然深以为然。
南陈朝廷的一举一动,早就被隋朝的细作报告给了隋军统帅。
现在南陈都城建康已经门户大开,杨坚认为机不可失,于是在开皇九年(589年)元旦期间,隋军趁陈后主宴请众将之际,依据杨坚的作战命令,从东西两个方向同时出击,贺若弼出广陵、韩擒虎出采石渡江,南陈守军在一片醉眼蒙胧中成了俘虏,隋军宣告渡江成功。晋王杨广没有就此停下脚步,立即带领大军继续前行,很快便在建康对岸的六合镇建立了总攻指挥部。
随军渡过长江转天,从采石侥幸逃脱的守将徐子建,将长江防线失守的消息报告给了陈后主,陈后主当时烂醉如泥,第二天醒来才召集大臣商议对策。当时大将萧摩诃主张趁隋军远道而来立足未稳主动出击,打隋军一个措手不及,可是陈后主得知长江防线失守后吓成一团,完全听不见萧摩诃的建议,将所有政事全都交给宠臣施文庆处置,自己慌忙躲到了深宫之内。
施文庆平日凭借陈后主的权威,不将满朝文武大臣放在眼里,与大家不和。此时他担心武将立功后,自己在朝廷内没有立足之地,所以凡是请战的大臣他都予以压制,萧摩诃主动出击的建议也就石沉大海。一直到隋军渡过长江的第四天,南陈朝廷才宣布都城建康全部戒严,水陆两军增援南豫州,同时命令无论是和尚、尼姑还是道士,都必须还俗参军,但是如何对抗杨广驻扎在六合的大军,南陈依旧没拿出个办法来。
就在南陈朝廷六神无主时,贺若弼攻下了京口,韩擒虎攻下了姑孰(今安徽省当涂县),两路隋军而后南北夹击建康,分别占领了钟山和新林,至此南陈都城建康已经为隋军所包围,成为囊中之物。与此同时燕荣带领水军出东海,一路南下进入太湖,攻占吴郡,另一路水军在宜阳公王世积的统领下出九江道,其部将史祥顺利攻占了九江。
隋军攻占九江战略意义重大,南陈的江防被切割成数段,彼此之间切断了联系,成为孤立的据点,其整个防御体系已经不复存在。
开皇九年(589年)正月十五日,南陈将领任忠从吴兴(今浙江省湖州)领军前来增援建康,抢在隋军之前进驻朱雀门。任忠的到来让都城建康的守军增加到十万之众,这让陈后主增添了许多信心,立即召集众将商议抗隋方略。
当时任忠主张坚守都城,等待长江上游的周罗喉带领大军赶来增援,然后再分兵切断隋军之间的联络,自己率领水军突袭身在六合的杨广大军。而萧摩诃则主张趁贺若弼立足未稳,大举进攻将其消灭,陈后主采纳了萧摩诃的意见,让其带领大军与隋军决一死战。
正月二十日,南陈军队在萧摩诃的统领下倾巢而出,布下南北长达二十余里的长蛇阵,可是萧摩诃布阵刚刚完成,其家人慌忙来报说主母被陈后主接进后宫,萧摩诃虽然年老,但其妻子却年轻貌美,萧摩诃得到这个消息,立即明白是怎么回事,无心再战。只有部将鲁广达还算卖力气,带领部众奋力和隋军拼杀,贺若弼一时间抵挡不住,一直后退二十里方才稳住阵脚。陈军获得小胜后,士兵们便开始无心恋战,纷纷回去向主帅邀功请赏,贺若弼眼见机不可失,重整人马分兵反击,结果陈军因准备不及而大败。
贺若弼带领隋军冲破陈军的防线后,一下子便到了萧摩诃的阵前,将这位赔了夫人又折兵的老将军生擒。任忠看大势已去,便率领部众投降了韩擒虎,同时作为向导引领隋军进入朱雀门,守城士兵看到任忠都已经投降,纷纷放下手中武器尽皆投降。
隋军攻陷了朱雀门,使得陈后主所在的宫殿顿时暴露在隋军眼前,宫城没有防备的守军,陈后主俨然成了光杆司令,只有少数文臣前来护驾。到了此时光景,陈后主依旧不知悔悟,甚至自嘲说"非朕无德,亦是江东衣冠道尽",这句话算是他对南陈亡在自己手里的一个交代,而后他便甩开群臣发疯似的跑进后宫,再也没有出来。
韩擒虎带领隋军冲进宫城后找不到陈后主,下令对所有宫殿拉网式搜索,士兵发现一口井里有响动,发现里边有人,于是便垂下绳索勒令其出来投降,但是任凭士兵们怎么往上拉绳子,绳子都是纹丝不动,最后还是众人合力才将绳索拉了上来,等到里边的人出井后,所有人全都哄堂大笑,原来是陈后主与爱妃张丽华、孔贵嫔三个人抱成一团,这可真是到死也不忘抱着美人死。
隋军生擒了陈后主,立即让他写招降书以示天下,于是陈军纷纷放下武器停止抵抗,例如长江上游的周罗喉、陈慧纪各自拥兵自重,与杨素和秦王杨俊发争夺长江中游的控制权,在接到陈后主的手书后,立即遣散士兵投降。王世积在蕲口得到建康已经被攻下后,立即派人告诉江南守军,于是诸郡相继投降。
正月二十九日,杨坚下诏派遣使者持节巡视陈朝州郡,同时撤销了淮南行省,宣告平陈战役结束。依据杨坚的命令,隋军将建康里的宫殿悉数变成耕田,更名为蒋州。
平陈战役的胜利结束,意味着中国分裂了两百年的南北对峙终于结束,取而代之的则是大隋王朝的一统天下。如果说581年杨坚建立隋朝标志着中国民族大融合的基本完成,那么平陈之战则宣告了分裂时代的结束,在分裂时期由民族矛盾引发的社会全面崩溃的局面,同样因为平陈之战的结束而改变。