Oscar "Oz" Diggs (James Franco) er en sirkusillusjonist fra Kansas som tror han har vunnet rene lottogevinsten når han blir tatt av en virvelvind og ender opp i landet Oz. Imidlertid møter han på tre mystiske hekser, Theodora (Mila Kunis), Evanora (Rachel Weisz) og Glinda (Michelle Williams), og Oscar finner ut at det finnes en legende om en trollmann som skal bringe fred tilbake til landet, noe han koser seg med å late som han er. Heksene er imidlertid ikke overbevist om at Oscar er den fantastiske trollmannen alle venter seg, og det viser seg at de har rett. Men Oscar finner ut at ikke alt er fryd og gammen i Oz, og bestemmer seg for å bli den trollmannen legendene forteller om - på sin egen måte. I tillegg må han finne ut hvilke av de tre heksene som er onde og hvem av dem som er gode før landet blir ødelagt.