定海为浙江一县,县治设舟山。舟山是英军北上指定要夺取的目标之一。6月30日伯麦所率英军即抵舟山南端,7月2日驶抵定海南道头港,他们派出轮船两艘,进行海面侦察和水道测量。
舟山是中国第四大岛屿,位于杭州湾东南,扼苏、浙、闽三省海面,具有极重要的战略地位,清初在岛设县,置水师三营以驻守。定海县城东、北、西三面都有山峦环抱,城南二三里即道头港,其吉祥、竹山、大渠三口,为外洋入港门户。道头港以南有大小五套山、大小盘峙山、大小渠山等岛屿罗列海中,城南设炮台1座,安设火炮8门,配兵50人防守。
7月4日,伯麦率英舰数艘闯入定海水域。清军水师竟以为是来售货物的夷船,未能发现这是一支侵略军,因此没有十分在意,也未予拦截。知县姚怀祥登舰询问来意,伯麦交给他一份事先准备好的中文照会,限次日下午2时前投降,将所属海岛、炮台一律交出,否则开炮轰城。姚怀祥返回后,立即会同文武官员商讨对策,决定水陆分守的策略:由总兵张朝发将各营及水师齐集港口防堵;知县姚怀祥率兵千余守城,坚壁待援。二人约定:“在外者主战,战虽败不得入;在内者主守,守虽溃不得出。”
7月5日下午,英军见清军拒绝投降,遂命令“威里士厘”号等4艘军舰向海口炮台开炮轰击。张朝发组织力量进行抵抗。由于英舰大炮多、射程远、威力大,9分钟后清军水师即遭受严重损失,失去抵抗能力。张朝发受伤,遂率部向镇海方向退却。英军在舰炮掩护下登陆,攻占了定海城东南的关山炮台,并连夜炮击定海县城。6日凌晨,英军攻破东门,知县姚怀祥出北门投水自尽,守城兵勇溃散,英军占领定海县城。战争终于打响。
定海之战,是中国近代史上第一次丧师失地的战斗。此次作战失败,原因主要是清朝对外来侵略的紧迫性未能作出正确判断,因而沿海戒备不周,给了敌人乘虚袭取的机会。诚如时人夏燮在《中西纪事》中所说:“当日之误,误于浙洋之全无准备,豕突而来,措手不及。”其次,定海清军事先疏于戒备,临战又互不协同,以致一遭炮击即兵溃城陷。