The movie centers around Gigi (Ginnifer Goodwin
), Janine (Jennifer Connelly
), and Beth (Jennifer Aniston
), three women who work in an office together.
Gigi is single and very interested in meeting the right man, but tends to overanalyze "the signs" men give off and assumes they are interested in her, even when they don't call her. She is encouraged by Janine and Beth, who help her make excuses and tell her stories about women they know who are happily married even though the man didn't seem interested at first.
Janine is married to Ben (Bradley Cooper
) and they are renovating their new house. She is a paranoid neat freak, and especially concerned that he may have started smoking again. Ben married Janine because they had been together since college, and she gave him an ultimatum - marry her, or break up. While at the grocery store, Ben meets Anna (Scarlett Johansson
), an up and coming singer/yoga teacher. He allows her to cut the line to cashier, resulting in her being named the 1000th customer and winning a water cooler. He reveals he is married, but offers to help Anna with her singing career because he has several contacts in the business.
Beth is living with Neil (Ben Affleck
) and they have been together for 7 years. She wants to get married, especially since two of her sisters are married and the third is engaged. Neil, although a very attentive and nice boyfriend, is firmly against marriage and wants them to stay the way they are.
Gigi meets Connor (Kevin Connolly
), a real estate agent, but he is again not very interested in her, and instead of calling her, calls Anna, with whom he begins a quasi-relationship, although she is clearly not very interested in him. After waiting around and cyber-stalking Connor for some time, Gigi tries to find Connor by telling his friend Alex (Justin Long
), a bar manager, that she has Connor's pen. Alex flatly tells her that Connor is not interested, that if a man wants to go out with a woman, he will be clear and upfront about it, and that women should stop making excuses for why men don't call. He says that the stories she hears about people who end up together anyway are the exception, and she is the rule.
Inspired, Gigi shares her newfound knowledge with Janine and Beth, causing Beth to face the facts, go home, and ask Neil if he will ever marry her. He can't give her an answer, so they break up and he moves out.
Anna and her friend Mary (Drew Barrymore
) discuss Ben at a salon. Mary works in advertising for a gay publication where she is working over the phone to publish an ad for Connor. Mary is also unsuccessful at meeting men, mostly because she meets them over the internet or the phone and she rarely gets to meet them in person. She especially hates how many portals of communications a woman has to check these days to see whether a guy has called them. She tells Anna a story of a married man who divorced his wife to marry a woman he loved, so Anna calls Ben to see if he would like to discuss contacts over coffee. He gets freaked out and turns her down, but later calls her back and agrees to meet with her. Afterwards, Janine comes into the room, suggests that it could one day be a baby's room. Ben doesn't want to talk about babies yet.
Gigi meets another man at Alex's bar during happy hour. They exchange cards, but she presses him as to who will call whom. After he doesn't call, she calls Alex for more advice. He tells her that the man is just not interested and not to call him. She decides to listen to him and throws away the card.
Beth's sisters are concerned that she broke up with Neil, and a cousin points out her single status during her sister's rehearsal dinner. Her father tells her he is her favorite daughter anyway, because she has always done things her own way, and the same goes for meeting someone.
Anna and Ben meet up in his office to discuss contacts. They reveal that they are attracted to each other, but Ben says he cannot cheat on his wife.
Ben goes out sailing with Neil, who is living on his boat, and they talk about marriage. Ben says that he married Janine because he loves her and is happily married now, but jokes that no man really wants to get married and all they think about is all the women they're missing out on. Neil is surprised and says he only wants to be with Beth.
Then Ben goes to a yoga class that Anna is teaching, and afterwards she invites him for a swim, where they agree to be friends. Anna strips down and jumps into the pool while Ben watches from the side. Meanwhile, Janine finds an ashtray and cigarettes in their backyard. When Ben comes home, she yells at him for smoking, which he denies, saying that it could be any of the workers who are renovating their house. She apologizes, but he sees his marriage in a new light and sleeps with Anna.
Gigi is making out with another guy on his couch. She mentions waiting for the second date to be intimate, but he tells her that he will be out of town and out of touch for a while. She goes to the bathroom and calls Alex, who is also making out with a girl. He tells her to ask where the guy is going that he would be out of touch (he fumbles and tells her Pittsburgh), and says that the guy doesn't really like Gigi, and she should only go out with someone who likes her. He later calls her and says he will introduce her to someone he thinks will like her, a friend Bill. They meet at the bar, but Alex says he accidentally told Bill the wrong day, so he won't be there. She asks why Alex shares all his insight on men and women with her, and he says he likes her and invites her to a party he's having.
Gigi has decided that she will go to the party to pursue Alex, because all the "signs" are there. At the party he barely talks to her, but asks her to refill the chip bowls. She jumps at the chance to "co-host", thinking this will make them a couple. After the party, Alex is playing video games with a tall, attractive woman while Gigi cleans up the apartment. After the woman leaves, Gigi jumps on Alex and begins to kiss him, but he pushes her off and tells her she's doing the same thing again. She gets mad and tells him that she would be naive like she is than cynical like him, because despite his attitude, he is still alone, and she will always be closer to finding someone than he is. She storms out and Alex is obviously stunned.
Beth is a bridesmaid at her sister's wedding. While her sisters walk down the aisle with their husbands, the family dog escorts her. Her father has a heart attack at the reception, and Beth, her sisters, and their husbands stay at his home to care for him. Beth does most of the work, while her sisters' husbands are lazy, make a mess, and watch TV. She asks if they went to get groceries like she asked, and they dismiss her, saying they got takeout, and ignore her while shouting at the television. She notices that Neil is in the kitchen and has done all the dishes as well as bought groceries.
Janine asks if any of the workers at the house smoked. Their manager denies it, so she concludes that Ben must still be smoking. While at a Home Depot type of store, she insists on their using hardwood instead of laminate, even though she can't tell the difference, because she feels that the laminate is lying to her. Ben tells her he cheated on her and says he will move out, but she says they will work it out. Later, Anna and Ben are about to have sex in his office when his wife knocks on the door. Anna hides in the closet while Janine seduces Ben in an attempt to save their marriage. After she leaves, Anna storms out, disgusted, and ends it with Ben.
Mary finally gets a message from someone she met online; where he sings her a song and tells her it was special to meet her (on video chat). She gets excited, but the next message is he singing the same song to another girl that he accidentally recorded on her machine.
Meanwhile, Alex is at the bar acting very distracted and constantly asking if anyone has called for him. His co-worker tells him he must have fallen for a girl -- Gigi. His friend Bill calls Gigi and they go on a date, after which they awkwardly say goodbye at her door. Gigi hears another knock and opens the door to find Alex, who tells her he has her pen and wants to be with her. Gigi doesn't believe him and states all the advice he has given her, but he kisses her. She asks if this means she is the exception, and he says, "You're my exception."
Beth goes to see Neil on his boat to tell him that after seeing her sisters' husbands, she no longer needs to get married, because Neil is a better husband than they ever would be. She says he can move back in as long as he does not bring back his ugly pair of cargo pants.
At home, Janine sets up their newly renovated house, looking forward to an improved marriage, but flips out when she finds cigarettes in one of Ben's pockets. She throws all his clothes down the stairs and smashes a mirror, only to get the broom and sweep up the broken pieces. Ben comes home to find his belongings neatly folded on the bottom of the stairs and a carton of cigarettes, with a note from Janine telling him to knock himself out, and she wants a divorce.
Anna goes to Connor and they sleep together, but Anna is clearly less satisfied. Connor shows her a house he wants to buy and tells her he hopes that she would someday move in with him, but Anna says she can't be with him. Mary then calls Connor at a coffee place from a few tables away. They finally meet face to face and seem to get along.
Neil moves back in with Beth, but she finds his ugly cargo pants and tells him she's throwing them out. He tells her to at least make sure the pockets are empty, and she finds an engagement ring. When she turns around, he proposes to her and she of course says yes.
The end of the movie shows Neil and Beth's wedding on his boat, Anna opting to stop dating for awhile to focus on her singing career and herself, Mary and Connor happily in love, Janine and Ben divorced and living on their own, and Gigi and Alex co-hosting a party as a couple, while Gigi's voice over advises that the path to happiness is not through finding another person, but through finding yourself.