Nessun quadro vale una vita umana: sulla base di questo presupposto, Simon (James McAvoy), impiegato in una casa d’aste, si allea con il criminale Frank(Vincent Cassel) e con i suoi sgherri per rubare il dipinto “Streghe nell’aria” di Francisco Goya, agendo dall’interno. La rapina non va esattamente come dovrebbe e Simon, a seguito di un colpo ricevuto, perde la memoria proprio riguardo la cosa più cara e importante: dov’è il quadro? Frank si arrende all’evidenza che a Simon serva un aiuto per ricordare: viene così coinvolta l’ipnotista Elizabeth Lamb (Rosario Dawson), che dovrà fare in modo di recuperare la memoria perduta dell’uomo.
