Jon (Joseph Gordon-Levitt) is a young man nicknamed Don Jon by his friends for his ability to get any woman he wants into bed. He explains in a voice-over narration his method for masturbating. When he sits and looks at the computer, he starts looking at photos of women to get into the mood. He then searches for the perfect video clip and doesn't touch himself until he finds it. When he does, slowly but surely he gets lost in it until he climaxes.
Jon goes on to explain his life mantra: "There's only a few things I really care about in life. My body. My pad. My ride. My family. My church. My boys. My girls. My porn", Jon says. Jon notes that last one probably seems strange to others but he his reasons for it.
We see Jon go to a club and meet up with his best friends, Bobby (Rob Brown) and Danny (Jeremy Luke). They begin to scope out women and rate them on the 10 point scale. Jon dismisses a few of their choices when he sees the one. Jon looks to the bar and sees Barbara Sugarman (Scarlett Johansson) who in his mind is a dime. Danny scoffs at his choice but Jon will not hear it. He goes in for the kill and says 'hello' to her.
Cut to a montage of Jon dancing with Barbara and drinking with her. He tries to kiss her and put his hands all over her and she lets him to a degree but rebuffs him otherwise. She eventually gets in a cab without him and Jon cannot believe he failed with a woman. He goes back inside and finds another beautiful woman. The montage begins again though this time he is successful with bringing the girl home and sleeping with her. In bed later, he pulls away from her and turns on his computer in the living room and watches some porn.
Jon admits he regularly sleeps with beautiful women and it is awesome but for some reason, they are not better than masturbating to pornography. He equates it to what the girls are willing to do in real life. Sure, they may look and feel like girls in porn but they wont do the same things. He notes it is not fun to give a girl oral sex and when on the off chance she is willing to give him oral sex, she is always in a hurry to get done. Sex is missionary position only since they want to see him during sex and Jon is unable to feel her body in that position. Finally, while condoms are a necessary evil, they don't feel good and he is unable to give a money shot to the girl and has to come inside a piece of plastic. With porn, he can experience everything he cannot feel with real women and real sexuality.
Jon goes to church every Sunday with his family, mother Angela (Glenne Headly), father Jon Sr. (Tony Danza) and technology obsessed sister, Monica (Brie Larson). Every week, Jon confesses his sexual conquests and masturbation to his priest and is given prayer penances.
Jon has dinner with his family. Monica buries herself in her phone and is silent. His father is obsessed with football and is otherwise loud and belligerent. Meanwhile, his mother tells Jon her greatest wish is that she is told by him that he has finally found the one.
Jon narrates despite his love for porn there are a few downsides. For one, sometimes he is close to finishing with a good clip, when the camera shifts to the perspective of the male performer which disgusts him. Furthermore, there is just too much porn to choose from and he values his free time. Also, sometimes he finds a clip that is so perfect that he wonders why he can't find anything close to that.
Jon, still having not given up on being with Barbara, asks around the bar he frequents for her name. Bobby looks her up on Facebook for Jon then tells him for this girl he may have to use the long game; going on a date or more to seal the deal. Jon is reluctant but decides to go for it.
Jon meets Barbara for lunch. She notes he didn't get her name though he tries to say he did. Finally, he admits he asked about her. Jon asks why she said yes to his date; Barbara said she was intrigued but makes it clear that she will expect him to be honest with her about everything as she isn't like other girls. Jon tells her in all honesty, that she is the most beautiful thing he has ever seen. "You like movies?" Barbara asks.
Jon tells the audience he doesn't go to movies a lot anymore. Especially the ones Barbara would enjoy. While he'd rather watch a hardcore action film, she wants to see romantic dramas with generic titles such as Special Someone (with film within film cameos by Channing Tatum and Anne Hathaway). Jon says everyone knows those movies are full of crap, but people eat them up like they are reality. Barbara loves the movie, while Jon obviously lies about enjoying it. Still, he gets a passionate kiss from Barbara out of it.
Jon cleans up his apartment. He goes to church and confesses to kissing Barbara, having no sex and masturbating a lot, getting his penance.
Jon continues to date Barbara who manipulates him into bettering himself with the promise of sex. After one date, they kiss outside her apartment door and she wrangles him into meeting his friends, his family, and him going back to school. In return, she dry humps him to climax and then heads into her apartment leaving him flustered.
Jon organizes a dinner for Barbara for their one month anniversary. In attendance are his friends and Barbara's friends. They go clubbing and Barbara tells her friends they haven't had sex yet, which makes her friends like him even more.
Jon has dinner with his family and tells them about Barbara. His mother is ecstatic.
At a family function with Barbara, Jon meets her mother and extended family. They make out in her room but Jon is denied sex once more.
Jon starts to go to night school for Barbara. Going back in after a break, he gets a call from Barbara who wants to come over to his apartment after class which he is very happy about. About to go back in, he is confronted with a fellow classmate, Esther (Julianne Moore) who is crying in the doorway. Jon has to go by her and excuses himself.
Barbara comes by to his place later and they have sex. Still, he pulls away from her and powers up his computer. Jon notes her body is perfect and the sex was decent and yet still, something was missing. As he is looking at porn, he realizes she is behind him. Barbara is horrified he is looking at porn. Jon is able to diffuse the situation by saying his buddy sent him the clip as a sick joke and he isn't a guy who looks at porn. Barbara makes him promise he wont look at porn anymore and he agrees.
Jon tries to give up porn cold turkey. However, it is harder than he thinks it will be. In the end, Jon decides to never look at it when Barbara is around, which is difficult as she is staying at his apartment more. He eventually finds out he can watch porn on his cell phone and looks to take it everywhere.
Jon goes to another night class. Esther sits by him and apologizes for crying in front of him. It is awkward to him and he tries to brush her off. She then admits she saw him looking at porn on his phone and he tells her she's crazy in his attempt to deny it.
Jon takes Barbara to a dinner with his folks. His mother is happy that she is so nice, and his father can't believe he found a woman so beautiful. Monica just rolls her eyes through the whole dinner.
However, his family is impressed that Jon has some stability in life with a relationship.
Jon takes Barbara to church. He goes to confession and admits premarital sex but that he has stopped watching porn. His penance is less than usual so he believes he is going a positive direction.
During a class break, Esther comes up to Jon and gives him a gift; a porn from the 70s which she admits isn't like the violent stuff he usually likes to watch. Jon is taken aback by the gift saying he doesn't watch that stuff any more since he has a girlfriend he loves. Still, he doesn't give it back.
Jon and Barbara have a dinner date. While they talk about day to day stuff, porn clips flash through Jon's head. It is clear that he is slowly but surely relapsing.
At a store to get some things for her apartment, Jon says he needs to get some cleaning products. Barbara is shocked he cleans his own place and tells him she'll contact her housekeeper to do his place. Jon tries to explain he likes cleaning his place but Barbara shoots him down.
"Don't talk about vacuuming in front of me, come on!" Barbara says
"Why, what's wrong?" Jon asks.
"Why? Because it's not sexy, that's why!" Barbara says. She tells him to never bring it up again and Jon agrees.
At night class, Esther tracks down Jon and asks to copy his notes. As she does, she begins to give him the third degree about his relationship so he takes his notes back and leaves. Going home, he sees Barbara on the couch crying. She tells him she told him to never lie to her and he has. Barbara says she knows he is looking at porn again as he never cleans out his web history. Jon admits it, and tells her every guy looks at porn. He then turns the tables on her asking how she can watch all them romantic comedies, it's practically the same thing as he does.
"Movies and porn are different, Jon. They give awards for movies", Barbara yells.
"And they give awards to porn too", Jon replies.
Barbara is disgusted with him and leaves him, telling him she thought he was different.
Jon goes back to his routine, and says he is reminded why he enjoyed being single, as no one told him how to live his life. However it is clear that he is in a downward spiral. Going out one night, he knowingly steals a girl his friend Danny wanted right in front of him.
On the way to church, Jon gets into a road rage incident and breaks a man's window with his fist. He gets to church, and lies to his mother about his hand.
At another family dinner, Jon lies to his family about still dating Barbara.
While trying to masturbate to porn, Jon's buddy Bobby comes over and asks about what is going on with him. Jon admits the reason Barbara broke up with him is because she caught him looking at porn. Bobby can't believe that was enough for Barbara to dump him. Bobby asks if he is going to finish the night class, as he had only been going to it for Barbara's sake.
Jon still goes to the class. One night afterwards, he catches up with Esther and they have sex in her car. Esther lights up a joint and they talk about Jon's problems with sex. She correctly deduces that he relapsed with porn several times during his time with Barbara and that he is probably addicted to porn as he has never been without it for years and he cannot masturbate without it.
Jon tries to jerk off without it but finds out he can't. Still he admits, Its not like I'm a junkie or anything. I can quit anytime.
For the next class, Jon grabs Esther before she goes in and begins to kiss her. He suggests blowing the class off and she agrees, taking him back to her house. They sit on the couch and she asks if he watched the porn he gave her, which he admits he hasn't. Esther tells him that he's into porn because it is a one sided affair. To have real sex be better than porn, he has to be willing to let go with another person, to let it be a two sided street. Esther suggests they take a bath together. As she runs the water, she goes to get a towel for him. At the closet, she breaks down crying.
Jon takes a bath alone and wraps up in a towel he finds in the bathroom. He finds her later and asks what is wrong and ponders if she is in a bad marriage or something. Esther says no. She then goes on to explain she lost her husband and son in a car accident 14 months ago and she is still grieving. Jon tells her he is sorry for her loss. Jon and Esther kiss which proceeds to them having sex, and probably for the first time, Jon has an emotional connection to the sex he has with her.
The next morning, Jon drives in his car, singing Good Vibrations though not allowing anyone to see him sing.
At another family dinner, Jon finally admits he and Barbara broke up. His father can't believe he let her slip away and his mother is devastated as she thought she would be getting grandchildren soon. Jon admits that perhaps he doesn't want a family yet. Suddenly, his sister Monica speaks. Jon's mother turns the always on television off so she can hear her. In her only lines of the film, Monica tells her parents that it was obvious to her that Barbara had an agenda of her own; she didn't care what Jon wanted or liked. She just wanted someone she could boss around. She tells Jon it is a good thing they are no longer together.
Jon goes to the gym. Rather than working out alone, he changes his routine, shooting basketball with a group of guys.
Later that night, Jon meets Bobby and Danny for pizza, the friends now on better terms. Danny reveals he got a girl's number but didn't get her name as he put her name under the contacts list as Ponytail. Bobby and Jon laugh at their friends misfortune.
Jon meets with Barbara and apologizes for what happened with them. Barbara tells him she asked one thing of him and he failed. Jon says that actually she asked a lot of things from him and he couldn't meet her expectations. Barbara tells him goodbye and not to contact him again.
Jon narrates that he is now in a better place now that he is with Esther. He had never been one for eye contact, but looking at her gets him excited now. He enjoys his time with her and isn't looking for more at the moment as he is still young and she is still grieving for the family she lost. However, now when he has sex with her, he can be lost in her, and she in him and for the first time in his life, he has a meaningful, content relationship with a woman.