روزی روزگاری در مکزیک
داستان

ال ماریاچی (آنتونیو باندراس) توسط افسر سازمان سیا شلدون جفری سندز (جانی دپ) برای به قتل رساندن ژنرال فاسد ارتش مکزیک امیلیانو مارکز (جراردو ویجیل) استخدام می‌شود، مارکز نیز توسط ارباب مواد مخدر مکزیک آرماندو باریلو (ویلم دفو) برای ترور رئیس‌جمهور مکزیک و سرنگونی دولت موقت در طول یک دوره از ناآرامی در کولیاچان (پایتخت سینالوآ) که در حال آزمایش ریاست جمهوری می‌باشد استخدام شده‌است. در گذشته ماریاچی و همسرش کارولینا (سلما هایک) در یک تیراندازی با مارکز روبرو شدند و او را مجروح کردند، مارکز هم برای انتقام کارولینا و دخترشان را به قتل رساند. سندز علاوه بر ال ماریاچی، مامور سابق اف‌بی‌آی خورخه رامیرز (روبن بلیدز) را متقاعد می‌کند تا از دوران بازنشستگی خود خارج شود و باریلو را که در گذشته همسرش آرچولتا را کشته بود به قتل برساند. علاوه بر این آجدرز افسر AFN (اوا مندس) توسط سندز مأمور می‌شود تا باریلو را دستگیر کند.
رامیرز در حالی که فعالیت‌های باریلو را زیر نظر دارد با بیلی چمبرز (میکی رورک) که یک فراری آمریکایی تحت حمایت باریلو است ملاقات می‌کند، اما چمبرز دیگر نمی‌تواند وظایف وحشتناکی که مجبور به انجام آن‌ها می‌شود را تحمل کند. رامیرز چمبرز را متقاعد می‌کند که در ازای نزدیک‌تر شدن به باریلو و اقدام به جاسوسی از او محافظت می‌کند و چمبرز موافقت می‌کند که پس از حذف باریلو با تسلیم شدن به مقامات آمریکایی معامله را تکمیل کند. نماینده ساندز، کوکیویی (دنی ترخو) که در ابتدا استخدام شده بود تا ال ماریاچی را زیر نظر داشته باشد در عوض تصمیم می‌گیرد تا به باریلو بپیوندد بنابراین با ماریاچی درگیر شده و موفق می‌شود او را اسیر کند. با این حال کوکیویی بلافاصله توسط چمبرز کشته می‌شود و در حالی که ماریاچی از اسارت فرار می‌کند با دوستان خود لورنزو (انریکه ایگلسیاس) و فیدئو (مارکو لئوناردی) تماس می‌گیرد تا در مأموریتش به او کمک کنند.
رامیرز در حالی که فعالیت باریلو را در خارج از بیمارستان زیر نظر دارد متوجه حمله مردانی مسلح به ساختمان می‌شود و آن‌ها را دنبال می‌کند. او متوجه می‌شود که گروهی از پزشکان به ضرب گلوله کشته شده‌اند و باریلو در نتیجه بازسازی نامطلوب صورتش دچار خونریزی شده اما بعد متوجه می‌شود که جسد روی میز اتاق عمل بدل باریلو است. رامیرز در حالی که قصد دارد از بیمارستان خارج شود توسط آجدرز که معلوم می‌شود دختر باریلو است بیهوش می‌شود. سندز متوجه خطر شده‌است اما توسط باریلو و آجدرز دستگیر می‌شود. آنها تصمیم می‌گیرند سندز را زنده نگه دارند اما قبل از رها کردن او چشمانش را نابینا می‌کنند. علیرغم نابینایی اش، سندز با کمک یک پسر بچه موفق می‌شود قاتلی که او را دنبال می‌کند با اسلحه به قتل برساند.
در حالی که مردم کولیاچان روز مردگان را در حضور رئیس‌جمهور جشن می‌گیرد، مارکز و ارتشش به کاخ ریاست جمهوری یورش برده و به آن حمله می‌کنند. در مقابل سربازان مارکز نه تنها با محافظان رئیس‌جمهور بلکه با مقاومت شهروندان و ماریاچی‌ها نیز مواجه می‌شوند. سندز به ال ماریاچی دستور داده بود تا بعد از قتل رئیس جمهور به مارکز حمله کند اما ماریاچی‌ها به این نتیجه رسیدند که رئیس‌جمهور مرد خوبی است و باید از او محافظت کنند. مارکز وارد کاخ ریاست جمهوری شده و یک بار دیگر با ال ماریاچی روبرو می‌شود، اما قبل از اینکه کاری انجام دهد توسط ماریاچی به قتل می‌رسد. رامیرز که توسط چمبرز از اسارت آزاد شده بود با باریلو روبرو می‌شود و پس از مرگ چمبرز توسط باریلو، رامیرز و ال ماریاچی با کمک یکدیگر ارباب مواد مخدر را می‌کشند. سندز که پس از مبارزه با چند تن از مأموران باریلو در بیرون از کاخ ریاست جمهوری زخمی شده‌است، موفق می‌شود آجدرز را فریب بدهد و او را نیز به قتل برساند. در نهایت لورنزو و فیدئو با پول نقدی که باریلو برای پرداخت به مارکز در نظر گرفته بود را جمع‌آوری کرده و هر کدام سهم خود برمی‌دارند و به رئیس‌جمهور کمک می‌کنند تا با خیال راحت از تلاش برای کودتا فرار کند. رامیرز که اکنون انتقام مرگ همسر خود را گرفته‌است با سندز خداحافظی می‌کند. ال ماریاچی نیز سهم خود را از پول، قبل از غروب آفتاب به مردمان روستای زادگاه خود می‌بخشد.