Summer is over and 16-year-old Chris (Corey Haim), who is constantly bullied, is enrolling in a new high school. Tired of being beaten up, he asks his father to teach him how to fight. The school bullies can still beat him up, however, so he decides that he will disguise himself every day as a girl to walk past them into school. Initially, he only plans on dressing up as a girl to get into school, but he soon grows used to the role of being a female. For instance, he likes being able to talk trash to his chief tormentor, Kurt (Cameron Bancroft), who falls in love with him, and also befriending a girl named Marie (Nicole Eggert), a cheerleader and also Kurt's sister, whom Chris has a crush on.
Enthusiastic at the prospect of going to cheerleader camp and sharing a room with Marie, Chris signs up to become a cheerleader. In a short period of time, Chris wins both Marie and Kurt's trust. After Kurt admits to Chris that he is only behaving the way he does because of peer pressure, Chris convinces him to apologize to his friend Dan, who has also been bullied by Kurt and his gang.
Problems begin when Kurt starts to make advances towards Chris and he starts almost getting caught. His PE teacher notices he is looking at the girls in the locker room, and thinking Chris is a lesbian, takes him to her office for a conversation. Chris, thinking she is talking to him about actually being a boy, admits his disguise. The PE teacher threatens to tell the principal the truth, but Chris convinces her not to do so by lying that he is a transvestite and enjoys dressing up in women's clothing. Later that evening, Marie visits Chris at home. His parents, unaware that Chris is going to school as a girl, mistake her for his girlfriend.
Dealing with Marie and his parents at the same time causes Chris some trouble, but he keeps up his subterfuge. However, when Kurt drops by to bring Chris flowers, his father Louis starts to think he is gay. By lying about Kurt's sexuality, Chris is able to convince his father that he is straight and nothing is wrong. The next day Chris is to leave for cheerleader camp. When Louis finds out, he finally realizes Chris has been dressing up as a girl. Meanwhile, Chris attempts to kiss Marie while practicing their cheerleadering choreography, but she pushes him away and runs off.
Encouraged by his PE teacher to tell the truth, Chris reveals himself to be a boy during a cheerleader performance. Kurt threatens to beat him up, but when Chris defends him for not being gay, they finally make peace. Marie feels betrayed, thinking that Chris only tried to get her in bed, but she eventually decides to forgive him.