1905年香港中環,革命志士接連遇刺。得知孫中山(張涵予飾)將抵港密會革命同仁,清廷派遣閻孝國將軍(胡軍飾)率死士暗殺。商人李玉堂(王學圻飾)之子李重光因考學慶典意外卷入護孫行動,期間目睹獨子游行被捕、摯友陳少白(梁家輝飾)遭戲班滅門慘案后,決意以商界身份全力周旋。賭徒沈重陽(甄子丹飾)被閻收買監視李府,偶遇前妻月茹(范冰冰飾)與幼女后觸發人性覺醒,在車夫阿四(謝霆鋒飾)、乞丐劉郁白(黎明飾)、小販王復明(巴特爾飾)、戲班遺孤方紅(李宇春飾)等市井義士前赴后繼的犧牲中,逐步從利己主義者轉變為護孫鐵衛。多方勢力混戰下,李玉堂借幫阿四迎娶阿純(周韻飾)為掩護布置防線,月茹深夜策反沈重陽促成生死抉擇。最終各路護衛以血肉之軀鑄成屏障,在警探史密夫(曾志偉飾)查封報館的危急時刻,確保孫中山完成革命部署安然離港。影片以1.5億投資復刻百年前港島風貌,通過十三位義士的群像敘事展現革命火種傳承。