4月28日,庞大的郑军舰队又一次逼近了定海,定海炮城清军总共不过500人,居然敢开炮阻拦庞大的郑军舰队,结果立刻被攻灭,300人被俘虏后投降,定海炮城被焚毁,城内停泊的100多艘战船以及横亘在江面上的障碍物“滚江龙”也全部被摧毁。五月初四,郑成功到舟山烈港,开始安排进入长江的战斗。17日,郑军由舟山到达羊山,18日到崇明,19日抵达吴淞口,23日郑军到达永胜洲,由于永胜洲内“不堪避风”,不久又移到顺江州,精锐军士乘坐小船上岸筹粮。
郑成功强调在长江地区的的军纪,敢于不听命令,胡乱抢劫者一定会被处死“若江南,敢有故犯者,是真真无王法,目无天道,目无本藩,明明欲做盗贼,不肯做大事;本藩安用管此顽冥之将,管此顽冥之兵为也?如有违令,断必尽法而行,通船通队,尽行枭示,该管大小将领尽行枭示统领一体连罪,决无姑恕!”当然啦,对于士兵们也不是没有留出余地“江北地方,准其取粮,准其坐船至于江南地方,务要一草一木不动,伙兵水 捎不准上岸,不准坐船微如火柴,亦就江北取去,供江南之用,使禁令得以划一”,但其实不得不说,郑成功在后期的治军手段确实是越来越残酷了,后来在台湾迎战荷兰人,军中乏粮,有士兵主动投降荷兰人,就曾经提到过“国姓爷经常处死很多人”这点对比先王实录可以得到确认。
6月1日,郑军到达江阴县城,伙兵下船筹集粮食,砍柴,准备物资,诸将原本准备攻城,又恐被小县城耽误时间,于是放弃江阴,继续向南京进发,6月14日到达镇江、瓜州附近的焦山塔。水道两岸分别有有谭家洲炮台与瓜州柳堤炮台,江面上又有滚江龙把截。
郑成功迅速作出部署,一部兵马袭击镇江谭家洲炮台“右提督、前锋镇督辖下镇营官兵船只,分取镇江、潭家洲大铳”“张兵部、陈文达等并水师一号船只,俱到谭家洲放炮,以便右提督、前锋镇、中冲镇、左冲镇、宣毅后镇等 陆兵登岸,杀虏夺炮”郑成功则指挥大军向瓜州发动进攻“亲军并中、后、左各提督、左先锋等镇,跟本藩七中军船前行,进取瓜州”停泊在江面上的舰队发炮掩护“阮前镇、李顺、袁起 震及正副铳并左右武卫、左右虎卫、五军、中,后,左提督、右先锋等铳船并水师船只,俱到瓜州放炮,以便陆兵登岸,进取杀虏”,将放在船上的火药分给别船配载,以防止清军反击的炮火引爆船上的火药,造成不可弥补的后果。又派遣善于潜水者,摧毁横亘在江面上的“滚江龙”,攻城所用的巨炮必须紧跟郑成功大军前进。
4月15日,战役正式开始,郑军迅速摧毁了江面上的“滚江龙”,又焚烧了满洲木浮营,所谓的木浮营就是江面上的木城,木城用大杉木板钉围,兵五百名驻守其内,拥有大炮四十门,火药火罐不计其数,江日升记满洲木浮营“木浮营者,用大杉木结排,另用木为栅,内架大炮十余门,从上流压下,船遇之,一击立碎”,结果此时也被摧毁。
16日早上,郑军向瓜州城发动全面进攻,清操江知府朱衣助、游击将军左云龙(原左良玉部将)领满汉兵马数千人出城迎击,双方隔一小港,互相发炮射箭攻击,郑成功令“左右武卫居中,中提督、左先镇居左,左提督、五军居右,令后提督抄进瓜州之后,埋伏扬州大路,以绝援虏,并防剿杀败虏”,猛人左冲镇周全斌“挥兵下水,直渡小港;水深铁重,兵从水底行,没顶,多溺死。突上岸,守兵不意海兵 至,惊骇,全斌直冲其阵”,注意这里是穿铁甲下水,郑军士兵穿着铁甲下水直接游到了对岸,由于铁甲十分沉重,士兵们基本上就等于在水下行走,很多人因此在水中丧生,但剩下的人勇往直前,上岸之后依旧猛冲清军,清军一见敌人居然从水中冒出,惊溃,郑军趁机全面进攻,左云龙在大来桥下被斩首,朱衣助想要领败兵退入城中,但郑军正兵镇韩英、左先锋杨祖等已先登上城墙,瓜州满城奔溃,清守军被杀者的尸体“沟井皆满”,侥幸逃出瓜州城的清军又遭到甘辉的截杀,死伤惨重。
与此同时,谭家洲炮台也被明军摧毁,清军数十门大炮被明军夺取,明军又攻取“满洲木城”三座,清军一败涂地。
操江知府朱衣助领满洲八旗兵数十人躲在衙门之中,结果被入城的郑军活捉,除朱衣助外,其他人被就地处斩,朱衣助被押往郑成功处,旋即投降,南京战役开始之后,派人偷偷去接家眷,但被清廷捕获,朱衣助又自郑军中逃回,被清廷逮捕治罪。被击毙的清将除左云龙之外,还有太平右营游击贾质、太平左营游击晋绅、宁国营守备贾大第、太平营守备赵维新、池州营把总卢邦柱、把总翟文进、三江营把总柳春、瓜洲营把总高桂等数十人,镇江巡江营守备罗明升也被杀死,清守军几乎全军覆没,少量的残兵败将侥幸逃回南京,也因为惊吓过度而不能继续作战。
瓜州之战可以说是明清长江战役开始之后清军第一场巨大的灾难,19日,庞大的郑成功舰队先分兵进攻芜湖,牵制芜湖的清军水师,随后便逼近镇江南岸的七里港,镇江之战即将开始。