Jack (Tom Cruise) é um jovem camponês que vive numa floresta mágica, repleta de seres fantásticos, como unicórnios e fadas. Num belo dia, Jack resolve levar a Princesa Lili (Mia Sara) para passear e ela acaba chamando a atenção do Senhor das Trevas (Tim Curry), um demônio cruel que planeja raptar a donzela e mergulhar o planeta numa era glacial.