《邪不压正》7月7日事变前夕,美籍华裔青年亨德勒(彭于晏饰)从美国远赴大海,回到他明辨十余年的北平行医。然而,他的真名是李天然,十三岁时,亲眼目睹师父家被他的兄弟朱乾隆(廖凡饰)和日本宁一郎(泽田肯亚饰)所灭。这次幸运的逃生被美国医生亨德勒送到了大洋彼岸,在那里接受了极其严格的训练,如今他带着绝密的任务踏上了自己的故乡。亨德勒父子租下神秘男子蓝清风(姜文饰)的房子。兰是1911年革命的参与者。他与现任警长朱乾隆关系密切,却以杀死李天然为筹码。鼓励朱除掉宁一郎。复仇心切的李天然找到了敌人,而亨德勒博士则竭力阻止养子冒险。在这个过程中,名妓唐凤仪(许晴饰)和裁缝关桥红(周韵饰)也卷入了男人勾心斗角的漩涡。直到7月7日事件爆发,所有的矛盾都迎来了决断的时刻……这部电影是根据张北海的小说改编的。