二十世纪三十年代,华裔青年李天然(彭于晏饰)从美国回到了日本侵略前的北平,开始了他的从医之旅。这位原名小亨德勒的年轻人,十三岁时曾目睹师父和师兄朱潜龙(廖凡饰)被日本人根本一郎(泽田谦也饰)杀害的惨况。他的生命受到了美国人亨德勒医生的拯救,并接受了严苛的训练。如今,他怀揣着秘密任务回到故乡。李天然和养父亨德勒医生(不知道是谁饰)在神秘男子蓝青峰(姜文饰)的宅子租住,蓝青峰曾参与辛亥革命,与现为警察局长的朱潜龙关系密切。蓝青峰为了杀死根本一郎,暗中怂恿朱潜龙除掉李天然。李天然满腔仇恨,寻找到了仇人,而亨德勒医生却不想养子冒险。在这过程中,交际花唐凤仪(许晴饰)和裁缝关巧红(周韵饰)也被卷入男人之间的恩怨纠葛中。直到七七事变爆发,所有矛盾都迎来了决断的时刻。该片根据张北海的小说《侠隐》改编。