1900년의 비엔나의 한 도시에 마술에 관심을 가진 한 아이가 귀족의 딸을 좋아하였으나 강제로 헤어지고 난 후에, 15년 동안 러시아와 중국 등을 떠돌아다니며 환상 마술를 배워 다시 이 도시에 홀연히 나타나 사람들의 마음을 사로잡는다. 이 마술사 아이젠하임(에드워드 노튼 역)의 환상 마술은 현실과 환상의 경계를 넘나들며 초자연적인 힘을 펼쳐보이고, 그의 소문은 순식간에 유럽 전역으로 퍼져나가자, 황태자 레오폴드(루퍼스 스웰 역)까지 약혼녀 소피(제시카 비엘 역)를 대동하고 공연장을 찾았는데, 아이젠하임은 마술의 보조로 서게 된 소피가 어릴 적 자신의 연인이라는 사실을 알아보았고, 그녀와 위험천만한 로맨스를 시작한다. 이를 눈치챈 레오폴드 황태자는 울 경감에게 아이젠하임을 사기꾼으로 몰아 체포하라는 명령을 내리게 된다.
하지만 아이젠하임을 헌신적으로 추종하는 대중들이 늘어나자 불안해진
레오폴드는 필사적으로 아이젠하임의 본색을 드러내려 한다. 팽팽한 신경전이 이어지는 가운데 소피의 살인사건이 발생하고, 울 경감이 사건의 진실을 밝히기 위해 끈덕지게 파고드는 가운데 황태자의 반역계획을 황제에게 알리면서 레오폴드는 자살로 무너지게 되고, 아이젠하임은 무대 위로 죽은 소피의 영혼을 불러내는 환상 마술을 보이면서 자신도 사라지게 된다. 울 경감은 그제서야 아이젠하임이 소피와의 사랑을 위해 소피를 먼저 죽은 척하게 하며 도피시키고 결국은 그도 사라진 것을 깨닫게 된다.
소피의 죽음과 아이젠하임의 사라지는 환상 마술의 내용은 그 자체로 대단한 흥미를 가지게 하지만, 결국 마술적인 요소보다 사랑에 관한 내용이랄 수 있는 영화이다. 생각보다 좋은 마술이 선뵈긴 했지만, 마술이 많이 나오는 것도 아니구 내용상으로는 로멘스이기에 좀 진부하고, 황태자나 울 경감의 마술에 대한 어설픈 문제제기도 오히려 어색하게 느껴진다.