A adaptação da peça homônima escrita por William Shakespeare se passa na Veneza do século XVI. O jovem nobre Bassanio (Joseph Fiennes) pediu dinheiro emprestado ao amigo Antonio (Jeremy Irons). O objetivo de Bessanio é viajar a Belmont e pedir a mão de Portia (Lynn Collins). No entanto, Antonio não pode emprestar o dinheiro e só resta ao jovem procurar o agiota Shylock (Al Pacino). O amigo pede dinheiro ao negociador pessoalmente, prometendo-lhe um naco de sua própria carne caso não haja pagamento. Essa negociação acaba mudando a vida de todos em volta de Bassanio.