該電影的故事發生在抗日戰爭爆發前的北平,主角李天然(彭于晏飾)是一個體面的小夥子,他的表面身份是北平協和醫院的婦產科大夫,名字叫布魯斯·亨德勒,然而,實際上,他是一個復仇者,他要殺死自己的大師兄——北平警察局局長朱潛龍(廖凡飾),圍繞著這個目標,李天然遇到了形形色色各有目的的人物,在這座快要被戰火點燃的古城,即將上演一場夾雜著情愛,復仇以及政治博弈的大戲。
一.三個父親
朱潛龍違背師傅的教誨,做了漢奸,在師傅大壽這晚,他以祝壽為藉口,帶著日本人根本登門,實際上是想要買下師傅的田莊,給日本人種鴉片,被拒絕後,朱潛龍惱羞成怒,用槍和武士刀殺了師傅一家,將屍體也全部焚燒,沒成想李天然被槍打中後並沒有死,忍著被火燒的劇痛裝死逃過一劫。
年幼的李天然被正巧路過的亨德勒大夫收養,去了美國生活,在那裡他學習任何有用的本領,只想要有朝一日能回國殺掉朱潛龍。
終於機會成熟了,李天然以亨德勒的親兒子的身份出現在北平,然而實際上亨德勒和李天然都只不過是被藍青峰(姜文飾)利用的棋子,他希望借朱潛龍之手殺掉日本人根本,然後通過李天然再殺掉朱潛龍,至於李天然自身的安危,他毫不關心,亨德勒察覺了藍青峰的真正計劃,與藍青峰決裂,最終被藍青峰殺死。藍青峰還讓李天然以為是自己暴露了身份使得爸爸亨德勒死了,從而產生愧疚感,轉而聽藍青峰的命令。於是李天然認了第三個爸爸,也就是藍青峰。
二.兩個女人
在李天然的復仇之路上,沒有一個人是真心想要幫助他完成復仇的,但是卻有兩個女人始終和他站在一起,助他一臂之力,表現出了超越男人的勇氣和魅力。
1.關巧紅(周韻飾)
北平最有名的瘸子女裁縫,在和李天然的數次接觸中漸漸生起情愫,多次幫助李天然,並且堅定了李天然的復仇決心,李天然復仇成功後,她受到鼓舞,決定去完成自己的復仇,離開了李天然。她是李天然對愛的追求,她和李天然總是在高處相見,在屋簷,在鐘樓,總之,是在美好的,不被俗世所染的的高處,這也是李天然嚮往的生活。
其實愛也是如此,愛一個人,不需要讓別人相信,我們有時只是不斷給自己設置著障礙,因為我們不敢。
2.唐鳳儀(許晴飾)
如果說關巧紅是一朵安靜端莊的白玫瑰,那麼唐鳳儀就是妖冶多姿的紅玫瑰,她滿腔激情想找一個值得託付的男人,先是朱潛龍,但是很快她失望了,朱潛龍只是把她當做洩慾的工具,不尊重她。而李天然不一樣,他總是能很好的克制自己,保持適當的距離,這個體面的年輕人和別的俗人不一樣,這正是鳳儀愛上李天然原因。李天然正如他的名字一樣,天然去雕飾,不會虛假,不會裝飾自己的情感。
雖然李天然已經心系巧紅,但是鳳儀並沒有心生嫉妒,反而在關鍵時刻幫助了巧紅和李天然,在日軍攻佔北平城後,她更是決絕地從城樓上一躍而下。她有著絕對陰柔的女性形象,但是又有著比男子還要包容和剛強的性格,這讓她更顯得魅力非凡。
三.最終復仇
李天然在美國爸爸死後,認藍青峰做爸爸,藍青峰意識到李天然的身份已經暴露,知道很快朱潛龍和日本人就會對他們動手,於是將李天然藏到一個鐘樓裡,用信鴿相互聯繫,日本人要進城了,藍青峰因為不肯當漢奸,被朱潛龍和根本關了起來,並且要求他交出李天然,藍青峰於是假裝去引誘李天然進入圈套,實際上則是告訴李天然真相。
隨後關巧紅將李天然救走,設計讓根本來比武拿刀,解決掉根本後以此引來朱潛龍,最後,在根本的家中,朱潛龍和李天然展開了最終對決。
《邪不壓正》這部電影與其說是動作片,不如說是一部情節荒誕的愛情片,復仇之旅其實是李天然的尋愛之旅,當他下定決心去愛的時候,也是他決心去復仇的時候,在電影中不同的人不斷問李天然同一句話:你真的知道自己要幹什麼嗎?也許正是在提醒他,不要忘記去尋找愛和希望 ,生活不應該僅僅是復仇。
巧紅在懷疑李天然時候說:「我有一百個理由可以打死你,也有一個理由可以不打死你。」我想那個理由就是愛,如果李天然愛她,她就不打死他。
電影結尾李天然站在房簷上,呼喚巧紅的名字,這與電影中段李天然去復仇時巧紅站在房頂的場景一致,體現了兩人對愛情和美好的希望,然而除非完成復仇,解開心結,否則他們無法真正在一起。
邪不壓正,是因為有了愛情。