
From Wikipedia: Once Upon a Time in Mexico (also known as Desperado 2) is a 2003 American neo-Western action film written, directed, produced, photographed, scored, and edited by Robert Rodriguez. It is the final film in Rodriguez's Mexico Trilogy, and it is a sequel to 1992's El Mariachi and 1995's Desperado. 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 a corrupt general responsible for the death of his wife, Carolina (Salma Hayek).