Seventeen year old Kyle (Alex Pettyfer) is the spoiled, shallow and incredibly popular prince of his high school kingdom. Entirely captivated and empowered by his own physical appearance, Kyle foolishly chooses Kendra (Mary-Kate Olsen) as his latest target for humiliation. But things are not as they seem and the disgraced Kendra, a witch masquerading as a high school student, enacts the perfect revenge. She transforms Kyle into someone as unattractive on the outside as he is on the inside. Now he has one year to find someone to love him, or he will remain "Beastly" forever. To break the spell, Kyle must discover a beauty who can see past the surface. His only hope, a quiet classmate he never noticed named Lindy (Vanessa Hudgens), may be his best chance to prove that love is never ugly.