Once Upon a Time in Mexico is a 2003 action film written, produced, edited, cinematographied, scored, and directed by Robert Rodriguez. It is the third and final film in Rodriguez's Mexico Trilogy, and is a sequel to El Mariachi (1992) and Desperado (1995). The film features Antonio Banderas in his second and final performance as El Mariachi. In the film, El Mariachi is recruited by CIA agent, Sheldon Sands (Johnny Depp), to kill Armando Barillo (Willem Dafoe), a Mexican drug lord who is planning a coup d'état against the President of Mexico. At the same time, El Mariachi seeks revenge against a corrupt general responsible for the death of his wife Carolina (Salma Hayek).
El Mariachi is recruited by CIA agent Sheldon Sands to kill General Emiliano Marquez , leader of a guerilla force who has been hired by Mexican drug lord Armando Barillo to assassinate the President of Mexico and overthrow the government. Many years before, El Mariachi and his wife Carolina confronted Marquez in a shootout and wounded the general; in retaliation, Marquez took the lives of Carolina and their daughter in an ambush. In addition to El Mariachi, Sands persuades former FBI agent Jorge Ramírez to come out of retirement and kill Barillo, who had murdered his partner Archuleta in the past. Furthermore, AFN operative Ajedrez is assigned by Sands to tail Barillo.
While monitoring Barillo's activities, Ramírez meets Billy Chambers , an American fugitive who has been living under the protection of Barillo, but can no longer stomach the horrible tasks he's been forced to carry out for him. Ramírez convinces Chambers he will provide him protection in exchange for getting closer to Barillo by tagging Chambers' pet chihuahua with a hidden microphone, and Chambers agrees to complete the deal by surrendering to U.S. authorities once Barillo has been taken down. Cucuy , who was originally hired by Sands to keep an eye on El Mariachi, tranquilizes El Mariachi and brings him to Barillo's mansion. Cucuy, however, is promptly killed by Chambers while El Mariachi escapes from captivity and calls his friends Lorenzo and Fideo to assist him in his mission.
While monitoring Barillo's activity outside a hospital, Ramírez notices armed men storming the building and follows suit. He discovers that a group of doctors have been gunned down and Barillo has bled to death as a result of a botched facial reconstruction, but realizes that the corpse on the operating table is a body double before he is knocked out and kidnapped by the real Barillo and Ajedrez, who reveals herself to be Barillo's daughter. Sands realizes his mission has been compromised, but is too late, as he is captured by Barillo and Ajedrez—who drill out his eyes before sending him out. Despite his blindness, he manages to gun down a hitman tailing him with the aid of a chiclet boy.
As the village celebrates Day of the Dead, Marquez and his army storm in and attack the presidential palace. The guerrillas, however, are met with resistance from not only the Mexican army, but the villagers and the Mariachis. Marquez enters the presidential palace, only to once again confront El Mariachi, who shoots out his kneecaps before finishing him off with a headshot. Ramírez, who was released from captivity by Chambers, faces Barillo. After Barillo guns down Chambers, Ramírez and El Mariachi kill the drug lord. Sands manages to shoot the sadistic Ajedrez dead outside the presidential palace. Ultimately, Lorenzo and Fideo walk away with the loot that Barillo was using to pay Marquez, and escort the president to safety. Ramírez walks away, having accomplished his job. El Mariachi then gives his part of the loot to his village before walking into the sunset.
- Antonio Banderas as El Mariachi
- Salma Hayek as Carolina
- Johnny Depp as Sheldon Jeffrey Sands
- Willem Dafoe as Armando Barillo
- Eva Mendes as Ajedrez Barillo
- Danny Trejo as Cucuy
- Mickey Rourke as Billy Chambers
- Rubén Blades as Retired FBI Special Agent Jorge Ramírez
- Enrique Iglesias as Lorenzo
- Marco Leonardi as Fideo
- Gerardo Vigil as General Emiliano Marquez
- Miguel Couturier as Dr. Guevera
- Cheech Marin as Belini
- Pedro Armendáriz Jr. as Mexican President
- Julio Oscar Mechoso as Nichola