厦门、浙东兵败后,道光帝又派吏部尚书奕经为扬威将军赴浙,并陆续调集兵勇以备反击。1842年3月,奕经以兵力已足,决定水陆同时反击,企图一举收复宁波、镇海、定海。3月10日夜,清军对宁波、镇海分别发起反击,接战均不利,纷纷撤回原驻地。进攻定海因风潮不顺而延期。3月15日驻宁波英军乘势反攻慈溪(今慈城镇)和城西大宝山等地,清军大败,退守曹娥江以西。道光帝见久经准备的浙东反攻又告失败,遂调盛京将军耆英赶赴江南,准备与英军媾和(见浙东之战)。
英国政府认为《穿鼻草约》所获权益太少,撤换义律,改派璞鼎查来华为全权代表,扩大侵略。1841年8月27日,英军再次北上,攻陷鼓浪屿、厦门、定海、镇海(今宁波)及乍浦(浙江平湖)。其中定海是第二次被攻破,总兵葛云飞及四千将士战死,英军也损失惨重。
1841年9月30日至次年(1842年)3月11日,英军分遣舰队还多次对台湾进行侵犯。由于守军准备充分,战术巧妙,取得了整个战争中罕见的胜利,仅俘获英军就有182人(见台湾抗英斗争)。
1842年5月,英军放弃宁波,集中兵力北犯。18日,攻陷浙江平湖乍浦镇。英军6月16日发起吴淞之战,江南提督陈化成率军坚守西炮台,两江.总督牛鉴欲求和,下令撤退被拒。牛鉴逃走,东炮台被攻陷,陈化成与部下死守西炮台,孤军作战,直至战死。[17-18]吴淞的失利,使英军军舰开入长江。镇江驻防副都统海龄自闻乍浦、吴淞不守,认为汉人通敌,纵兵杀害汉人。此后,英援军相继到达长江口外,璞鼎查不理耆英等人的乞和照会,英海陆军溯长江上犯,准备切断中国内陆交通大动脉京杭大运河(镇江段)并巩固吴淞之战后封堵长江出海口的战果。
1842年7月21日,英军使用1.2万余人,76艘战舰,炮724门击败镇江城外绿营守军,越城而入,与1500蒙古八旗兵巷战,英军死185人,清军全军覆没,海龄自杀。全城惨遭焚掠,废墟一片。恩格斯在《英人对华的新远征》一文中,高度赞扬了镇江守军英勇抵抗侵略的英雄气概:“驻防旗兵殊死奋战,直到最后一人……如果这些侵略者到处都遭到同样的抵抗,他们绝对到不了南京。”[19-20]镇江对岸的扬州绅商,惶恐万状,向英军交纳五十万两赎城费,免收军事占领。英军直逼南京,清廷处于不利位置。
1842年8月4日,英舰进逼南京下关江面,随后英军从南京燕子矶登陆,察看地形,扬言进攻南京城。在英军坚船利炮的威慑之下,清朝钦差大臣耆英、伊里布和两江.总督牛鉴,妥协退让,委曲求全,被迫在静海寺、上江考棚等处与英军议和。在谈判期间,由于英军的恶行引发了地方性的靖江保卫战,侵略者死伤13人后败退(从台湾、靖江之战看来,当今记载的英军伤亡数字不无可疑之处)。
1842年,清政府被迫在南京的静海寺与英国政府议约,双方共在寺内议约四次。1842年8月29日,在英军旗舰“汗华”(亦译康华丽)号上,中国清政府全部接受了英国提出的议和条款,耆英与璞鼎查签订中国近代史上第一个不平等条约中英《南京条约》。
鸦片战争以中国失败并赔款割地告终。中英双方签订了中国历史上第一个丧权辱国不平等条约《南京条约》。中国开始向外国割地、赔款、商定关税,严重危害中国主权,开始沦为半殖民地半封建社会,丧失独立自主的地位,并促进了小农经济的解体。同时,鸦片战争也揭开了近代中国人民反抗外来侵略的历史新篇章。