却说贺若弼、韩擒虎两军从东西两个方面快速推进,陈军各部望风而散,隋兵如入无人之境。贺若弼分兵堵住曲阿(今江苏丹阳),防止现在长江三角洲及以南地区的陈军增援,自己率主力进攻建康;韩擒虎则在占领姑孰后,沿着长江逼近建康。不久,建康周边就出现了隋军的前锋部队。
陈叔宝这才害怕起来。他胆子本来就小,对军事一窍不通,慌忙召萧摩诃、任忠等人来商议军事。萧摩诃因为陈叔宝和妻子通奸,根本就没有为朝廷而战的意志,一言不发。当时贺若弼的部队已经占领了钟山(今南京紫金山),被陈朝看作是心腹大患。陈朝决定调集诸军在白土冈(今南京东)一带布阵决战。
正月二十日,陈叔宝命令陈军出战,去消灭贺若弼。陈军鲁广达、孔范、萧摩诃、任忠、田瑞、樊毅等部先后逼近白土冈,南北绵延二十里。贺若弼所部大约有八千甲士,而陈叔宝在建康有十万大军。陈军在数量上占据绝对优势,但是陈叔宝仓促命令各部进击,事先没有完整的进攻计划。陈军各部之间缺乏协调,分别发起进攻。田瑞首先率部进攻,被贺若弼军击退。鲁广达等部赶到后也投入战斗。贺若弼抵挡不住,不得不暂时后退。陈军取得了胜利。为了避免陈军追击,贺若弼下令施放烟幕,掩护隋军整顿恢复。在紧张的战斗间隙,贺若弼保持了冷静的思考。他观察到陈军得胜后出现了骄惰情绪,同时孔范率领的部队阵列最差、士气低迷。于是贺若弼激励将士以必死的决心向孔范所部发起决战冲锋。孔范就是一个窝囊废,在贺若弼的进攻面前一败涂地,仓皇逃窜。孔范部队的战败导致了陈军的全线溃退。陈军各部缺乏调度,争相逃命,场面失控,有五千多人因为互相挤踏而死。陈朝军队的主力就这样溃散了。贺若弼乘胜追击,率军推进到了乐游苑(今南京玄武湖南侧)。