Viola Hastings is a high school soccer player at Cornwall, which has just cut its girls' soccer team. After her request to join the boys' team is refused by the coach, she finds a way to play for Cornwall's rival,Illyria. Viola's twin brother, Sebastian (James Kirk), is supposed to enter Illyria as a new student, and since he is instead going to a contest in London with his fledgling band, Sebastian asks Viola to cover for him by telling the school that he's sick and each of their parents (who are divorced) thinks that he is staying with the other
Viola instead decides to pass herself off as Sebastian and join the boys' soccer team at Illyria. She hopes to beat the Cornwall team and humiliate her cocky and sexist goalie ex-boyfriend, Justin Drayton (Robert Hoffman) who plays for the Cornwall boys team. With the help of her friends, Viola becomes the quirky "Fake Sebastian".
At Illyria, Viola's roommate is Duke Orsino (Channing Tatum), a hot striker on the soccer team. Tryouts see Viola assigned to second string, a group of unfit boys who are on the soccer team, but do not play the actual matches, much to her dismay. Meanwhile, "Fake Sebastian's" lab partner, Olivia Lennox (Laura Ramsey), develops a crush on him, which frustrates Duke, who likes Olivia. In exchange for "Fake Sebastian's" help in getting Olivia's attention, Duke agrees to put in extra soccer practice time with him. Coach Dinklage (Vinnie Jones ) eventally moves "Fake Sebastian" up to first string, and "he" is delighted.
“Fake Sebastian” is reminded, by a message from his mother, Daphne, about the Junior League carnival that he and Viola promised to attend. Due to the fact that Duke’s mother is also a part of the Junior League, he must go as well. “Fake Sebastian” is forced to switch between himself and Viola the whole time, while trying to avoid her mother and Monique Valentine (Alexandra Breckenridge), the real Sebastian's girlfriend, so that she is not discovered as impersonating her brother. Viola is trying to run around and do both her and her brother’s jobs at the carnival. Duke misses his chance with Olivia when her shift is up at the kissing booth. He is not disappointed by her replacement, who turns out to be “Fake Sebastian’s” sister, Viola. Duke and Viola meet for the first time and exchange their kiss at the kissing booth, only to be interrupted by Viola’s ex-boyfriend, Justin. Duke and Justin get into a fight and decide they will finish the battle on the soccer field. Duke realizes he might be crushing not only on Olivia, but on Viola as well.
Olivia goes on a date with Duke to make "Fake Sebastian" jealous, remaining far more interested in him than in Duke. Encouraged by Viola (Viola didn't mean to encouraged her), she decides to go directly to Sebastian and tell him how she feels.
The plot becomes complicated when the real Sebastian returns from London a day early. When he arrives at Illyria, Olivia runs up and kisses him. Duke, seeing this, believes his roommate has betrayed him and after arguing with "Fake Sebastian", Duke kicks him out from their dormitory. Viola stays in Eunice Bates' (Emily Perkins) room and oversleeps, causing the real Sebastian to wind up on the field playing in what should be his sister's spot in the next day's much-anticipated game against Cornwall. Principal Gold (David Cross), who has been told of Viola's impersonating Sebastian by two students, Monique and Malcolm (James Snyder), halts the game and informs the crowd that the real Sebastian is a girl. The real Sebastian being present instead, he proves himself to be male by pulling down his shorts and exposing his genitals off-screen. At half-time, Viola explains the situation to the real Sebastian and they switch places again.
Later on in the game Viola explains that she has been impersonating her brother, finally convincing Duke and everyone else by showing them her breasts (again, off screen). Coach Dinklage agrees to let Viola keep playing anyway, sternly informing the Cornwall coach that Illyria doesn't discriminate based on gender and he calls out the coach for his sexist ways. Illyria wins the game on a penalty kick when Viola scores a goal (after a save and then pass from Duke) past her ex-boyfriend Justin.
Everyone at Illyria celebrates their victory over Cornwall, except for Duke who is hurt at Viola's deception. She invites Duke to her debutante ball. They meet in a garden and head to the Debutante ball, where they are introduced, come on stage, and kiss. Also at the debutante ball are the newly-found couples, Olivia and Sebastain, Monique and Justin, and Eunice and Toby. At the end of the film, Viola and Duke are shown playing on the soccer team of Illyria a year later, both on the first string.
- When they first started filming, Amanda Bynes couldn't play soccer at all. Nevertheless, Amanda does most of her own playing in the movie.
- When Viola's mother keeps showing her débutante dresses she shows her some in pink, although she knew Viola had to wear a white dress (the traditional dress is white and most debutantes still follow this tradition), but at the end of the movie, Viola is wearing a green dress, which shows she is original and bends the rules sometimes.
- Viola's hair color changes throughout the movie. At the beginning it's a lighter brown with blonde highlights and later in the movie it is a darker brown. The color switches back and forth between the two throughout the movie.
- Viola's (as Sebastian) dormitory is number 234.
- On the Ilyria soccer team, her jersey number is 13.
- During the dream sequence when Viola is in the pink dress, she actually tripped over when trying the kick the ball, the directors found this funny and kept it in the film.