1860年8月1日,面對清軍的嚴密防守,英法聯軍選擇在北塘登陸,隨後進行了新河、塘沽之戰,當時在大沽北岸炮台清軍的退路被英法聯軍完全切斷,在8月21日,經過6個小時的激戰,由清軍鎮守的石縫炮台被攻陷。
當時清軍炮台的設計非常落後,採用的是古老的戰術配置,在最外邊有一台壕溝,由外向內呈階梯狀分佈,外部地面插滿了尖木用來阻擋組織敵人進攻。最裏面的炮台由夯土鑄造而成,呈半圓形,根本無法抵擋英法聯軍的槍炮的射擊。
後來,英法聯軍通過架設橋樑的方式通過了壕溝,最後又架梯登上了台牆,當時的戰鬥非常慘烈,雙方在交戰之初進行了長達3個小時的相互炮擊,英軍的炮彈擊中了清軍炮台內的火藥庫,引發劇烈爆炸,導致清軍一時間停止了對英法聯軍的炮擊。
就在這時,英法聯軍以為清軍停止炮擊是為了向他們投降,可令他們沒有想到的是,沒過多久,他們再次遭到了清軍的炮擊。又經過了幾個小時的激戰後,炮台內部的火力表現出了不足的情況了。
英法聯軍見到炮台內的清軍火力變弱,迅速組織步兵開始進攻,面對這種情況,所有清軍將士紛紛拿起步槍和弓箭拼命向敵人射擊,雖然武器裝備無法與英法軍相比,但憑藉地理位置的優勢,對進攻的英法聯軍作戰人員造成了巨大的傷亡。
最後英法聯軍攻入炮台內之後,清軍依然沒有放棄抵抗,與敵軍展開近距離的拼殺,戰鬥一直持續到近午時分,石縫炮台才徹底落入敵手。
這場戰役也成為第三次大沽口之戰中堅持最久、戰鬥最激烈的地方。其中很大的一個原因在於當時負責炮台的守將是為蒙古族人,名叫樂善,官拜直隸提督。在這場戰役中,他激勵所有的將士要與炮台共存亡,與侵略者戰鬥到底,最後與所有守軍壯烈殉國。