1995年的香港戏班后台,胭脂水粉掩盖不住刀光剑影。当家花旦沈玉蝶(周慧敏饰)在《穆桂英挂帅》的唱腔里暗藏密码,戏服下绑着革命党的重要密函。巡捕房探长程志远(陈锦鸿饰)奉命追查,却在枪口对准她时,听见了儿时记忆里的那段《帝女花》。
军阀的子弹打穿了戏台的帷幕,名角金灵芝(梁珮玲饰)为护玉蝶中枪倒地,血染红了雪白的水袖。三个从小在戏班长大的女子,如今在民族大义与个人恩怨间撕扯。台下的谭耀文饰演的军阀之子举着勃朗宁,却对着玉蝶唱起了粤剧选段。
盖鸣晖反串的武生带着真功夫杀进枪林弹雨,罗文客串的班主在火海中抢救戏箱。当京胡与枪声齐鸣,这些粉墨登场的戏子们,终要在乱世中唱完这出真实的《刀马旦》。