NOTE: This spoiler was submitted by Jeremy.
For a long time, high school students have been stuck with the typical labels - jocks, princesses, nerds, etc. In recent years, these students have now branched out from their stereotypes. As high school senior Bianca Piper (Mae Whitman) explains, now jocks play video games, the princesses are on anti-depressants, and the nerds are in charge. We then see Bianca walking down the halls with her two best friends - Jess (Skyler Samuels), an aspiring fashion designer, and Casey (Bianca A. Santos), a tough hacker girl. All the guys drool over Jess and Casey, but nobody ever really acknowledges Bianca.
The school's ruthless queen bee Madison Morgan (Bella Thorne) invites Jess and Casey to a party at her house, and deliberately chooses not to invite Bianca, until Casey makes it so that there's a free invitation. Here, we also meet Bianca's neighbor and former friend Wesley Rush (Robbie Amell), captain of the football team and Madison's on/off boyfriend. Bianca also has a crush on a guy named Toby (Nick Eversman), but she is too scared to say more than two words to him.
Bianca's teacher Mr. Arthur (Ken Jeong) assigns her the task of writing an article for the school newspaper on the upcoming homecoming dance and what social life means to her. She reluctantly agrees to it.
At home, we meet Bianca's mom Dottie (Allison Janney), who became a successful author after her divorce. She was inspired by an episode of "The Simpsons" to create a book on the five stages of dealing with divorce. She, along with Jess and Casey, convince Bianca to go to the party, despite her hesitance.
At the party, Wes runs into Bianca and asks her if Jess and Casey have mentioned him or are interested in him. Bianca says it's not her job to divulge information on her friends, to which Wes argues that it is as their DUFF. Wes explains to a confused Bianca that it stands for the "Designated Ugly Fat Friend", and that a DUFF is there to make their friends look better by comparison. They are approachable enough for someone to ask them about their hot friends, and Bianca fits this role. Offended, she throws her drink in Wes's face. She goes home alone feeling insecure and self-conscious.
Throughout the rest of the day, the thought of being a DUFF bugs Bianca until she realizes that everyone only talks to her to get closer to Jess and Casey. She even notices all the other social cliques at school with their own DUFF. It gets to a point where Bianca confronts Jess and Casey about being their DUFF. Despite their assurance that they don't see her like that, Bianca spitefully unfollows them from every form of social media (Facebook, Twitter, Tumblr, Vine, etc.) and decides she doesn't want to be friends with them at all.
Bianca notices that Wes is failing chemistry. She sees this as an opportunity for the two of them to help each other out. She will tutor Wes if he agrees to turn her image around so that she won't be a DUFF. Wes agrees, but only if Bianca asks him in her monster voice from when they were kids. She does.
Wes joins Bianca at the mall where he first gets her to dress in a more flattering manner. As Bianca tries on different outfits, she fools around with a mannequin and pretends it's Toby. From afar, Madison's minion Caitlyn (Rebecca Weil) films this and sends the video to Madison. Wes then challenges Bianca to go around the mall and talk to a bunch of random guys for her to get over her fear of talking to Toby. It goes awkwardly for a while until one guy from a frozen yogurt stand talks to Bianca for a while.
The next day, the video of Bianca at the mall goes viral throughout the school. Everybody points and laughs at her, forcing her to run into the bathroom and cry. Mr. Arthur and Principal Buchanon (Romany Malco) take notice of this and demand everybody turn in their cell phones to prevent further cyberbullying, which only turns everyone against Bianca even more since they blame her for the loss of their gadgets. Jess and Casey also see the video, and Casey gets rid of the video. The phones are returned to the students when the constant ringing bothers Buchanon.
Wes comes over to Bianca's house to apologize for not stopping the video and for not defending her. He gives her a dress that she had her eye on at the mall. He tells her not to let the video get to her and that she should approach Toby personally and admit how she feels. Wes then promises to go out and continue studying.
Bianca approaches Toby at school after being previously humiliated by the video. She tells him she's into him, and he invites her to go over to his house to hang out.
Bianca takes Wes to her "thinking rock" so he can tell her how to handle herself on a date. He explains how the mood should be set and how Toby would act if he is trying to go for a kiss. Wes ends up kissing Bianca, but they laugh it off as just practice. Once again, Caitlyn is in the distance filming this. Madison then approaches Bianca at school the next day and threatens to post another video at the mall of Bianca's awkward encounter with the guys since Madison doesn't like Bianca hanging around Wes.
Bianca goes to Toby's house for dinner. He puts out sushi and talks about how he got into writing songs. However, Bianca cannot stop thinking about Wes. She goes to the bathroom and tries to convince herself that she's not into him. Outside, Toby plays an awkwardly-written song for Bianca and then asks about Jess and Casey. Bianca slowly realizes that Toby is DUFF-ing her, and he admits he only invited Bianca over because he thought Jess and Casey would be joining them. Bianca leaves and then sees that Toby bought the sushi from another place instead of cooking it like he made it seem. Bianca goes home and leaves a message for Wes. She walks by the woods and sees him and Madison sitting on her rock, kissing. Wes comes over later to comfort Bianca, only to be turned away after she tells him what she saw.
Depressed, Bianca tries to write her article, only to become lonely. She decides to make amends with Jess and Casey. The two of them, along with Dottie, convince Bianca to go with them to homecoming. Jess makes Bianca a dress using Bianca's flannel shirt and another dress.
The girls go to the homecoming dance, and everyone is stunned by Bianca's look, including Wes. She goes over to him and admits that she's into him. Madison catches them talking and threatens to post the video, but Bianca is no longer fazed by it. She says that it won't bother her and that she doesn't care about labels the way Madison does. Bianca adds that everyone is a DUFF since there will always be someone prettier or more popular, but that shouldn't bother anybody. Moments later, Wes and Madison are crowned homecoming king and queen. Madison gladly accepts the crown, but Wes rejects it and goes over to kiss Bianca in front of everyone. They leave to go hook up in the computer room.
Bianca writes her article on being a DUFF, which is a hit with the students. She and Wes become a couple in the end, and she becomes a more confident person that doesn't let a label define her.