威海衛灣頭有個劉公島,北洋海軍司令部就設在那裏。
北洋海軍原是優秀的部隊,軍官們受過新式訓練,水兵們大都是沿海出身,習慣於大海。可是,陸軍官兵不斷潰逃,也影響到海軍官兵的士氣。
1895年2月3日,天氣晴和,風平浪穩。伊東佑亨率領日本聯合艦隊傾巢出動,進攻威海港內的北洋海軍。日艦以第一遊擊隊警戒西口。由第二、三、四遊擊隊列成單縱陣,駛近日島4500米的距離,依次輪番向劉公島、日島及港內北洋艦隊發動猛烈攻擊。日本陸軍也將皂埠嘴炮台上的一門28厘米口徑大炮修複。南幫海岸三座炮台,配合日本聯合艦隊的海上進犯,以猛烈的炮火夾擊港內的北洋艦隊和劉公島、日島炮台。
北洋艦隊和劉公島、日島守軍,在丁汝昌、張文宣的指揮下,頑強抵抗,奮勇還擊。雙方展開了激烈的炮戰。其“炮火之激烈,殊不下於黃海海戰也”。
午後1時,劉公島炮台炮火擊中日艦築紫左舷,穿透中甲板,打死日軍士兵3名,打傷5名,艦體損壞。2時39分,又一彈命中日艦葛城大檣上部。雙方激戰終日,直至日暮。在劉公島、日島炮台守軍和北洋艦隊奮勇還擊下,敵艦始終未能接近港口,最後隻得灰溜溜地退走。
日艦在2月3日白天進攻失敗後,伊東佑亨知道從正麵用軍艦進攻劉公島,消滅北洋艦隊的企圖是不可能實現的。便決定利用魚雷艇,采取夜間偷襲的手段,向北洋艦隊進攻。
魚雷艇夜戰是日本海軍的拿手好戲。但用魚雷艇夜間偷襲北洋海軍,也並非輕而易舉。
劉公島東、西兩口封鎖十分嚴密。東口防材係由1尺5寸左右口徑,長約12尺的方圓木材並列橫置,環以3條1寸3分粗細的鐵索連接而成。為防止風浪及潮水衝擊,防材下端,係以巨繩,錨於海底。東口防材以日島為中心向南北延伸。南側直達龍廟嘴、鹿角嘴之間的海岸邊,長4000米。北端達劉公島,長2000米,全長共6000米。防材南端留有狹窄通道,寬不過百米,且無航標,夜間航行極為困難。靠南岸,防材與海岸密接,無少許間隙。岸邊岩石暗礁密布,不能通行。如果要強行通過,日軍艦艇必須切斷鐵索。而鐵索極為堅固,非短時間可以完成。但伊東計窮,舍此辦法無他策,決定冒險一試。
1895年2月3日晚,伊東派魚雷艇兩隻,偷入港內破壞防材。因港口戒備嚴密,未能得逞,僅切斷鐵索一條而退。
1995年2月4日,伊東決定派第二、三魚雷艇隊,進行夜間襲擊。當夜,月落天暗,日艇以6號艇為先鋒,依次為22號、5號、10號、21號、8號、14號、9號、18號、19號等共10艘,成魚貫縱陣由陰山口出發,沿南岸邊航行。通過防材時,第21號、8號、14號艇在龍廟嘴炮台附近觸礁。第18號艇被防材卡住,動彈不得。其餘各艇通過防材後,向右轉航時,被北洋艦隊警戒艇發現。警戒艇急忙發出紅色信號報警,並向日艇猛烈開火。這時(5日淩晨3時50分),日本第22號艇駛至劉公島煤庫南方,發現北洋艦隊軍艦一艘,急忙發射魚雷襲擊。該艦發覺後開炮還擊。22號艇在慌亂中退卻觸礁,舵機被毀,擬沿南岸出港,又被風浪所阻。5時15分,擱淺於龍廟嘴附近。時已黎明,恐遭北洋艦隊炮火襲擊,艇上人員隻好棄艇乘舢板逃遁。因舢板過小,容納不下,隻得分批登陸。在第二次渡載時,舢板傾覆,人員落水。北洋艦隊哨艇又來追擊。幸有10號艇送來帆布舢板,落水日兵才得以乘舢板上陸,但海軍少尉鈴木虎十郎遊泳上岸後被凍死,另有兩名士兵失蹤。
6號艇駛至劉公島側發現兩艘清艦,正準備襲擊,不料魚雷發射管出現故障,魚雷放射不出。北洋艦隊兩艦發炮猛轟,日艇負傷累累,彈痕達60餘處,差點被擊沉,無功而返。5號艇也被擊傷退回。