当贺若弼攻打京口和进占钟山之初,将军萧摩河曾两次建议乘其立足未固之际,率兵迎击,均为陈后主所拒绝。使陈军失去了宝贵战机。至十五日,镇东大将军任忠向陈后主提出阻断水上通路,切断其前后联系,阻断敌之归途,使敌各路军不攻自退的建议。陈后主也拒绝采纳。但第2天,陈后主忽又决定令萧摩诃等从陆上出战,以鲁广达于白土岗布阵,防守于各军的最南面;任忠在其次;樊毅、孔范又在其次;萧摩诃部在最北面。各军南北绵延20余里,前后进退互不知悉。
隋将贺若弼率精锐骑兵登上山顶,望见陈军正在布阵,驰至山下,率杨牙、员明等七总管,共8000士卒,也布阵准备与陈军交战。由于陈后主与萧摩诃的妻子私通,故萧摩诃早已无心作战,只有鲁广达与隋军拼杀,隋军抵挡不住,纷纷退走,270多人被斩杀。贺若弼纵火,以烟幕掩护部众,重整队伍,又转向孔范军阵冲击。孔范部队一与隋军交战即败逃,其余各部陈军见此,也相继溃逃,共死5000多人,萧摩诃被隋军生俘。
陈将任忠投降了隋军,防守朱雀航的陈将蔡徵军惊慌而溃。任忠领着韩擒虎军直接进入朱雀门,有些陈军想要抗拒,均被任忠制止。陈王朝的文武百官纷纷逃遁,陈后主带萧瓛领他的爱妃等10余人,跳入宫内的井中,隋军冲入宫中,用绳子将他及两名贵妃吊出。陈后主见了贺若弼不停地下拜。至此,陈亡。
正月二十二日,隋晋王杨广进入建康,将陈奸臣施文庆、沈客卿、阳慧朗、徐析等统统斩首。杨广因贺若弼提前作战,违抗军令,交刑吏治罪,后来,隋主杨坚得知,急忙下诏赦免,并对贺若弼为平定陈王朝立下的功劳,大加封赏。
陈吴州刺史萧瓛,占据吴州(今江苏苏州),拒不降隋。二月,杨广命右卫大将军宇文述率行军总管元契、张默言等,前往征讨。此时,隋落丛公燕荣也从东海率水军前来会攻。萧瓛于晋陵(今江苏常州)城东设置拦栅,以阻挡宇文述军;以部将王褒防守吴州,自率兵由义兴(今江苏宜兴)进入太湖,欲从后面偷袭宇文述军。宇文述军进展顺利,一举攻破萧军的栏栅,随之,转兵攻击萧瓛,萧军大败。接着,宇文述派兵从另一条路线偷袭吴州,守将王褒化装为道士逃跑。萧瓛率残部退守包山(今太湖中洞庭西山),被隋将燕荣击败擒获。陈东扬州刺史萧粤,献出会稽(今渐江绍兴)降隋,杨广遂将萧瓛、萧岑一并送往京师斩首。