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), a witch masquerading as a high school student, as his latest target for humiliation. Unfazed by his cruel behavior, Kendra decides to teach him a lesson - she transforms him into someone as unattractive on the outside as he is on the inside. Now he has one year to find someone who can see past the surface and love him, or he will remain "Beastly" forever. 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.