Nic (Annette Bening) and Jules (Julianne Moore) are a lesbian couple who have each given birth to a child using the same anonymous sperm donor. Nic, an obstetrician, is the primary breadwinner and the stricter parent, while Jules is more laid back and after previous failures to launch a career, is starting up a landscape design business. While the family functions well, their relationship has begun to go stale.
The younger child, Laser (Josh Hutcherson) is eager to find his biological father, but has to be 18 to do so. He begs his 18-year-old sister, Joni (Mia Wasikowska) to contact the sperm bank in order to meet their biodad, Paul (Mark Ruffalo). She does so and the first meeting goes well. Joni is impressed by his bohemian lifestyle and Paul is enthused about being in their lives. While Joni swears Laser to secrecy as she does not want to upset their mothers, they find out and invite Paul over to dinner, which while awkward is amiable. When Jules reveals that she has a landscape business, Paul asks her to landscape his back garden, to which Jules agrees, although Nic does not like the idea.
While working for Paul, Jules likes that he appreciates her work in contrast to Nic, who Jules feels, never supports her career attempts. Jules impulsively kisses him one afternoon, and they end up in bed together and begin an affair.
Jules and the kids start spending more time with Paul. Nic believes that Paul undermines her authority over the children, for example by giving Joni a ride on his motorcycle when she has forbidden it, and suggesting that she give Joni more freedom. After a heated argument with Jules, Nic suggests that they all have dinner at Paul's house to ease the situation. Things begin to improve as Nic relaxes and makes a connection with Paul over their mutual love of Joni Mitchell. During the dinner, however, Nic is shocked to discover traces of Jules's (red) hair in Paul's bathroom and bedroom. When they return home, Nic confronts Jules. At first, Jules denies the affair but then admits to it. While Nic is devastated, Jules insists she is not in love with Paul and has not turned straight; she just wanted to be appreciated. The household becomes tense, with Jules sleeping on the couch and the children angry at both Jules and Paul. Paul thinks he has fallen for Jules, and since the relationship between Nic and Jules has deteriorated anyway, he suggests that she leave Nic, bring the kids, and come live with him, which Jules declines.
The night before Joni leaves for college, Paul turns up at the house. Nic angrily confronts him, calling him an interloper, and tells him that if he wants a family then he should make one of his own. Following this, Jules addresses her family. She states that marriage is hard, and tearfully admits her errors and begs their forgiveness. The next morning, the family, pointedly without Paul, takes Joni to college. As Nic and Jules together hug Joni goodbye, they also affectionately touch each other. During the ride home, Laser tells his moms, "You guys shouldn't break up" because they're "too old". Jules and Nic both giggle at Laser's comment, and the film ends with them smiling at each other and holding hands.