南唐后主李煜得知宋军通过长江浮桥突袭后,紧急派遣水军统帅郑彦华率万人水师和步军将领杜桢领万人步军分水陆两路迎敌。然而,唐军因逆风逆水、仓促应战而溃败,水军溃逃导致杜桢步军孤军奋战,最终被宋军击退。
宋将潘美强渡秦淮时,趁南唐军未及反应,率兵涉水突破防线。宋军随后以火攻城南水寨,借助风势焚毁唐军据点,导致守军死伤惨重。李煜却将国事交予大臣,沉迷后宫不问战局,致使枢密副使陈桥等人实际掌权。
金陵城遭宋军围困数月,因皇甫继勋封锁军情,李煜对城外战况一无所知。直到偶然听闻战鼓声,登城发现宋军已兵临城下,震怒下处决皇甫继勋,并急调朱令赟率水军支援。此时南唐军心涣散,百姓畏战,战局陷入被动。