One Halloween night, Tom Bailey (Patrick Dempsey) dressed as Bill Clinton goes to slip into bed with his pre-arranged date "Monica", but it was the wrong woman. Instead it was "Monica's" roommate Hannah (Michelle Monaghan). After bantering which each other, they become instant friends for Tom likes her honesty and how she doesn't fling herself at him.
Ten years later we see Tom, very wealthy because of his creation of the "coffee collar" (gets a dime every time it is used) and leaving the bed of another girl. A different one every every night for one of his rules is "no back to backs except for Sundays and Mondays for they are a different week". After picking up two lattes at Starbucks and another phone number, Tom meets up with Hannah at a museum where she is a painter, and the two have lunch.
Tom takes Hannah to his father's sixth wedding to a young girl who has more boobs than brains and after the reception Hannah tells Tom she must go to Scotland for work. While she's gone for those long agonizing months, Tom discovers that without her, and being with other women over and over is not very fulfilling. He soon realizes that he is in love with Hannah. During a basketball game he tells his friends his realization and get typical neanderthal responses from them, but decides to tell her his feelings after all when she gets back. However, after meeting up with Hannah at a restaurant, Hannah surprises Tom by introducing to him a wealthy Scotsman named Colin (Kevin McKidd) and announces that they are engaged, and incredibly asks Tom to be her "maid" of honor.
After discussing it with his friend, Tom decides to be her maid of honor after all just to spend time with her. After meeting her pastor he try's to convince her she does not even know Colin and make her realize that she loves him but to no avail. Later they meet up with the other bridesmaids, one of them being Hannah's cousin and a bitter ex fling, who passes Tom a business card for entertainment for the shower. Later at the shower the business card was actually for a sex toy party.
After arriving in Scotland for the wedding, Tom realizes he is running out of time to stop Hannah. He meets all of Colin's family and must perform in the "games," in which the groom must compete to prove himself worthy of his bride. Tom is also in the competition with Colin but is humiliated in the last round. It seems as if Colin is near perfection. The following evening Tom takes Hannah out for a walk hoping to tell her how he feels, however the other bridesmaids interrupt for Hannah's bachelorette party (Hen Night). On her Hen Night, Hannah parades around a pub and sells her kisses for change. As she goes around, Hannah kisses Tom. Though it just started as a peck, it turned into a passionate kiss.
That night, Hannah decides to confront Tom and ask about the kiss. However, when she gets to his room her drunk cousin is there trying to seduce him. Hannah leaves and Tom runs after her. He knocks on her door, pleading for her to let him in. She refuses and asks about the kiss. He tells her he knew he was the one for her, not Colin. She refuses to say that she thinks so too and still expects to marry Colin the next day. Tom cannot go through with watching Hannah and Colin get married so he decides to go home. When questioned about his disappearance, Hannah simply tells Colin that Tom is just afraid of losing her. On the way home Tom realizes that he must stop the wedding and goes back on horseback. Just when the priest asks for objections, Tom is sent flying off his horse and through the chapel doors. Seeing her best friend on the floor, Hannah rushes to him. As he struggles to stand up, he tells her that he loves her more than anything. They then share a kiss. Hannah tells Colin that she is very sorry and that he is the perfect guy, just not the perfect guy for her. In the end, Tom and Hannah get married.