1659年(永历十三年、顺治十六年)二月二十日,郑成功由沙关来到磐石卫,下令各提督、统领、总镇“速办船只,催完饷务,限三月内齐到磐石卫听令”,着手部署长江战役。郑成功发动长江战役,大举进攻南京。六月初一日,郑军进至江阴,清朝文武官员凭城扼守。郑成功接受诸将建议,以县小不攻,率师西上。六月,郑军至丹徒,泊焦山祭天地。六月十六日进攻瓜州。瓜州在今江苏邗江县南,大运河入长江处,与镇江市隔岸相对。
郑成功郑成功率部于永历十三年(1659年)六月取得瓜州大捷之后,立即挥军进攻镇江。六月二十日,在郑军刚刚登陆立足未稳之际,镇江清军提督管效忠打算趁此先下手为强。不料郑成功早有防备,他先派藤甲兵抵住清军骑兵部队的进攻,随后又诱敌深入以火炮炸死千余清兵。
管效忠初次受挫,便率败军撤回银山安营扎寨。二十二日夜,郑成功派精锐部队夜袭银山,击溃安营于此地的清军。
次日清晨,郑成功部队趁胜向清军残余部队发起全面进攻,火炮、弓矢、火箭齐发,清军大溃、撤退时混乱不堪,总计被明军击毙上万人。管效忠狼狈窜回南京,清镇江守将高谦与知府戴可进自知不敌,向郑成功投降,明军取得了镇江大捷的胜利。
镇江大捷震动了长江两岸,镇江附近的各县城,更是望风而降。六月二十五日,句容县光复。七月一日,浦江港光复。七月二日,六合县、浦口镇归顺,县官与守将弃城而逃。七月五日,芜湖县光复,郑成功派张煌言前往芜湖受降。
张煌言率部抵达芜湖后,传檄各郡邑,明军兵锋所至,无不望而归附,共计收复四府、三州、二十二县城。四府是太平府、宁国府、池州府、徽州府。三州是和州、广德、无为。二十二县分别是当涂、芜湖、繁昌、宣城、宁国、南陵、太平、旌德、泾县、贵池、铜陵、东流、建德、青阳、石埭、含山、巢县、舒城、庐江、建平、高淳、溧阳。