El Mariachi (Antonio Banderas) é um ex-músico que chega a uma cidade carregando várias armas dentro da caixa de um violão. Ele está atrás de Bucho (Joaquim de Almeida), que matou sua namorada e ainda atirou em sua mão. Desejando vingança, ele conta com a ajuda de Carolina (Salma Hayek), uma bela mulher que é dona da livraria local.