En el agitado Londres de finales del siglo XIX, en una época en la que los magos son los ídolos más reconocidos, dos jóvenes ilusionistas se proponen labrar su propio camino a la fama. El ostentoso y sofisticado Robert Angier (Hugh Jackman) es un consumado artista, mientras que el rudo purista Alfred Borden (Christian Bale) es un genio creativo que carece de la desenvoltura necesaria para mostrar al público sus mágicas ideas. Al principio son dos compañeros y amigos que se admiran mutuamente. Sin embargo, cuando el mejor truco de ambos se echa a perder, se convierten en enemigos irreconciliables, e intentan por todos los medios superar al otro y acabar con él. Truco a truco, espectáculo a espectáculo, se va fraguando una feroz competición que ya no conocerá límites.