


세기의 전환을 맞아 격동적인 변화가 일던 1900년대 말 런던은 최고 상류층에서 마술사가 태어났고 사회에 마술이 널리 퍼져있던 시대이다. 로버트 앤지어(휴 잭맨)는 상류층 집안에서 자란 쇼맨십이 강한 마술사. 반면 고아로 자라 거친 성격에 사람들과 잘 어울리지 못하는 알프레드 보든(크리스찬 베일)은 자신의 마술 아이디어를 남들에게 보여 줄 배짱은 없지만 누구보다도 뛰어난 재능을 가진 천재이다.
두 사람은 서로를 아끼는 친구이자 최고의 마술사가 되기 위해 노력하는 선의의 경쟁자. 그러나 그들이 최고라 자부했던 수중마술이 실패로 돌아가면서 로버트는 아내 마저 잃고 두 사람은 철천지원수로 돌변한다. 어느 날, 알프레드가 마술의 최고 단계인 순간이동 마술을 선보이고 질투심에 불탄 로버트 역시 순간이동 마술을 완성한다. 상대방 마술의 비밀을 캐내려 경쟁을 벌이면서 주변 사람들의 생명마저 위태롭게 만든다.