在1869年的德克萨斯州,科尔比镇长拉萨姆·科尔(汤姆·威尔金森饰)决定把杀人魔卡文迪什(威廉·菲德内尔饰)和印第安杀手唐托(约翰尼·德普饰)处决,卡文迪什却在半途逃脱了。约翰·瑞德(艾米·汉莫饰)的哥哥丹带上镇上其他的骑警追捕卡文迪什却被内奸出卖,全都惨死敌手。从狱中逃跑的唐托埋葬了所有人,并且发现活着的约翰·瑞德。唐托劝约翰不如将计就计戴上面具,成为另一个人去复仇。很快,他们发现瑞贝卡·瑞德(露丝·威尔森饰),也就是丹的妻子、约翰的心上人被掳走了,两人踏上寻人的旅程。约翰此时不幸受伤,唐托把他带回了印第安的部落,从族长口中约翰得知了唐托的过去。最终,两人合作抓住了卡文迪什,唐托要杀掉他,约翰却坚持要让法律来惩治。他打晕了唐托,把卡文迪什带到了小峡谷,交给镇长。可这时他发现了一个秘密,原来镇长和卡文迪什是兄弟,这一切都是两人为了河流尽头的银矿而设下的计谋。