Balthazar Blake (Nicolas Cage) je čarodejným majstrom, ktorý sa v súčasnom Manhattane snaží ubrániť mesto pred svojím úhlavným nepriateľom Maximom Horváthom (Alfred Molina). Balthazar na to ale sám nestačí a preto vyhľadá pomoc Davea Stutlera (Jay Baruchel), zdanlivo obyčajného človeka, ktorý v sebe ale ukrýva netušené možnosti, a urobí z neho napriek jeho pochybnostiam svojho učňa. Čarodejník svojho nedobrovoľného žiaka v rýchlosti zasvätí do základov tajného umenia mágie a kúziel a spoločne sa táto nezvyčajná dvojica pokúša s pomocou svojich schopností postaviť jedným z najagresívnejších - a najzákernejších - čarodejníkov všetkých čias. Dave je nútený v sebe nájsť všetku odvahu k tomu, aby ako Čarodejníkov učeň svoj výcvik prežil, zachránil mesto a získal srdce svojej vyvolenej.