清朝末年的香港,在上、中、西環有“鎮三環”之稱的幫辦暗中勾結西環惡霸勾心虎,導致西環治安烏煙瘴氣。警官馬如龍(成龍)奉命接管西環后,迅速將勾心虎拘捕入獄,招致“鎮三環”的怨恨。彼時內地革命風云翻涌,革命黨人來港宣傳并計劃營救被捕同志。清廷派遣密使聯絡鎮三環企圖一網打盡革命勢力,馬如龍在結識白影紅(張曼玉)、瑩瑩(關之琳)、珊珊(劉嘉玲)等革命黨人后,意外卷入政治斗爭漩渦。與此同時,曾被馬如龍打擊的海盜團伙伺機展開復仇行動,企圖以暴力手段摧毀其勢力。隨著鎮三環與清廷密使的陰謀逐漸展開,馬如龍被迫在警匪對抗、革命斗爭與私人恩怨的多重危機中周旋,最終通過智勇雙全的布局擊潰各方勢力。