No final do século XVIII Mendoza (Robert De Niro), um mercador de escravos, fica com crise de consciência por ter matado Felipe (Aidan Quinn), seu irmão, num duelo, pois Felipe se envolveu com Carlotta (Cherie Lunghi). Ela havia se apaixonado por Felipe e Mendoza não aceitou isto, pois ela tinha um relacionamento com ele. Para tentar se penitenciar Mendoza se torna um padre e se une a Gabriel (Jeremy Irons), um jesuíta bem intencionado que luta para defender os índios, mas se depara com interesses econômicos.