Justine Last (JENNIFER ANISTON) is a married, 30-year-old discount store clerk who's dissatisfied with her life. Not only is she in an unrewarding, dead-end job working with the likes of Gwen (DEBORAH RUSH) and Cheryl (ZOOEY DESCHANEL) for store manager Jack Field (JOHN CARROLL LYNCH), but her marriage is disappointing as well.
Although her husband, Phil (JOHN C. REILLY), has a job, he spends most of his free time hanging out with his painting partner, Bubba (TIM BLAKE NELSON), getting high and wondering why he and Justine haven't had a baby yet.
Tired of the way things have turned out and store security guard Corny (MIKE WHITE) trying to get her to attend Bible study classes, Justine takes an interest in Holden Worther (JAKE GYLLENHAAL), a 22-year-old who's just started working at Retail Rodeo with her.
An aspiring writer, Holden still lives with his emotionally distant parents, but becomes instantly smitten with Justine, which also holds true for her as both believe they've found a kindred spirit in the other. The two soon become lovers, with Justine trying to keep that secret from Phil who's suddenly decided to clean up his act and become a better husband.
As the affair continues, Justine's guilt increases and she begins to feel suffocated under Holden's growing obsession with her, all of which leads to some unexpected developments for everyone involved.