于山内;左武卫林胜、右虎卫陈魁列阵于山下迎敌;自己督右虎卫陈鹏、右冲镇万禄在观音门往来策应;后提督万礼、宣毅左镇万义等堵御大桥头大路;右提督马信、宣毅后镇吴豪、正兵镇韩英由水路抄蹑其后;左冲镇黄安专门负责水师,防止清军由水上来犯。集中兵力决战固然没错,可此时清军已经出城扎营,命将士连夜移营准备决战,反而使部下处于疲劳状态,匆忙中也不可能熟悉地形,做好迎战准备。
次日晨,清军全力出击,靖南将军喀喀木、梅勒章京噶褚哈、玛尔赛、总兵梁化凤等率领主力由陆路出战;提督管效忠等领军由水路配合;总督郎廷佐等守城。清军先从观音山后分路进攻郑军杨祖部,斩杀杨部骁将蓝衍,攻上山头;击败杨部后乘胜以泰山压顶之势居高临下向郑军猛扑,俘郑军中提督甘辉、斩杀五军张英;接着,列营于山下的郑军林胜、陈魁两镇也全军覆没;随后,后提督万礼等在大桥头遭到清兵首尾夹攻,万礼被俘。
见陆师全线崩溃,朱成功只得命参军户官潘庚钟站在黄盖限的水师既要保护随军眷属,又要为撤退留下后路,再无力量扭转形势。清军乘战胜之威进攻朱成功的黄盖所在,潘庚钟力战阵亡。至此,南京之战完全失败。
二十五日,朱成功率领败军乘船到镇江;二十八日,主动放弃镇江、瓜州等城市,退出长江口;八月初四,郑军退到吴淞;初七,这位不肯服输的枭雄将兵船集中于平洋沙、稗沙一带,打算攻占崇明县城,控制长江出海口,以图下回再来。初十日,郑军攻打崇明,然而大败之后,军心动摇,部将韩英、王起俸被火铳击伤而亡。不得已之下,只得含羞忍辱,传令班师。
长江战役虽然以失败告终,却使清廷统治者闻风丧胆,也让各地的复明志士恢复了信心。此后,郑军退保金、厦,虽然有大海作凭仗,但“金门寸土,不足养兵;厦门丸城,奚堪生聚”面对困局,这位国姓爷不得不将目光转向隔海相望的台湾。