有一種說法是,“濟遠管帶方伯謙是個貪生怕死的懦夫。炮聲一響,就嚇得驚慌失措,躲藏在船艙內鐵甲最厚處,堅匿不出。沈壽昌見方伯謙如此卑怯無能,異常氣憤。主動登上望台,指揮作戰。”
實際上,炮戰初起,敵艦一彈飛來,擊中暸望台。彈片擊中沈壽昌頭部,沈當即壯烈殉國。所以沈壽昌“主動登上望台,指揮作戰”並沒有依據。
以弱對強,北洋海軍軍人們並沒有畏懼。炮手們開動全艦炮火,向敵艦猛烈還擊。
一時間,豐島海麵上,炮聲怒吼,硝煙升騰,戰雲漠漠,日光失色。敵我5艘軍艦,往來奔馳,奮力搏擊。雙方距離時而拉長至2000~3000米,時而縮短至數百米,進行猛烈的炮戰。士兵們奮力作戰。日艦浪速號還未來得及開炮,濟遠射出的炮彈,在其艦首20米處墮落,彈片紛飛,將信號索截斷。濟遠發射的炮彈曾多次命中浪速和吉野。
二副柯建章也親自在前炮台督戰。不久,又一炮擊中前炮台,柯建章中炮陣亡。同時,望台及炮台各處水手陣亡13人,傷40餘人。前炮台因積屍太多不能運轉,僅靠尾炮且戰且走。
廣乙在用炮火還擊敵人的同時,準備乘敵不備,駛近日艦,以魚雷進行攻擊,遂開足馬力向敵艦疾馳。敵艦吉野害怕廣乙撞擊,慌忙駛避,向左回旋,在海上畫出一個大圓圈。7時58分,廣乙從斜側逼近秋津洲艦尾600米處,正準備向敵艦施放魚雷,不幸被秋津洲一彈擊中桅樓,魚雷發射管也被擊毀。接著,又飛來一顆榴霰彈,在廣乙甲板上爆炸,死傷20餘人。舵手亦中炮犧牲。但廣乙仍不退避,繼續堅持戰鬥。猛發一彈,擊中浪速左舷。
這時,豐島海麵上硝煙彌漫,咫尺間朦朧莫辨。敵我雙方軍艦在硝煙掩蓋下,互不辨認。敵艦隻好鳴汽笛報知自己位置所在,以免被後續艦撞碰。
激烈的海戰進行一個多小時,濟遠在敵艦速射炮火的猛烈射擊下,中彈多處。
廣乙受傷更為嚴重。兩艦終於在強弱懸殊、炮火不濟的情況下敗退。
濟遠中炮雖多,所幸均非要害,機器無損,乃西向旅順方麵撤退。
日艦吉野、浪速見濟遠退走,開足馬力瘋狂追趕,邊追邊向濟遠發炮。
正在這時,西南方海麵有黑煙二簇,兩隻汽船向東航來,但不能辨認為何國船隻。這時,日本第一遊擊司令官坪井航三,下令各艦采取“自由行動”。由秋津洲追擊廣乙,浪速追趕濟遠。
當浪速追趕濟遠時,由西南駛來之兩船漸次接近。一為中國炮艦操江,一為懸掛英國國旗的商輪高升號。9時15分,高升輪駛近浪速號時,日本旗艦吉野發出信號,命令浪速擄獲高升,送至帝國聯合艦隊司令部處置。由吉野繼續追擊濟遠,並令秋津洲舍廣乙而截擊操江。
當時,濟遠已駛離吉野7裏之遙,但吉野時速為23節較濟遠快8節,轉瞬即可追及。吉野開足馬力,以最高速度追趕。
12時38分,當吉野與濟遠相距2500米時,以右舷炮火向濟遠猛烈攻擊。
吉野窮追不舍。水兵王國成激於民族義憤,奮起自衛還擊。他一躍跳上尾炮台,振臂一呼:“誰能助我運炮彈?”眾水手齊聲應諾。眾人協力發尾炮攻擊敵艦,連發4炮,命中3炮。第一炮擊中吉野桅樓;第二炮也命中;第三炮走線未中;第四炮命中吉野要害,船頭立即低俯。
吉野受創,不敢繼續追擊,於12時43分,轉輪退走。濟遠終能逃出沉沒之厄運。