Século XIX, Londres. Robert Angier (Hugh Jackman) e Alfred Borden (Christian Bale) se conhecem há muitos anos, desde que eram mágicos iniciantes. A partir de então eles vivem competindo entre si, o que faz com que a amizade se transforme em uma grande rivalidade com o passar dos anos. Quando Alfred apresenta uma mágica revolucionária, Robert fica obcecado em descobrir como ele consegue realizá-la.