Three weeks before her 28th birthday, New York City food critic Julianne “Jules” Potter receives a call from her lifelong friend Michael O’Neal, a Chicago sportswriter. Years ago, the two agreed that if unmarried by 28, they would marry each other. Michael tells her that in four days, he will marry Kimmy Wallace, a college student whose father owns the Chicago White Sox. Realizing she is in love with Michael, Jules resolves to sabotage his wedding. Arriving in Chicago, she reunites with Michael and meets Kimmy, who asks her to be the maid of honor. Jules schemes to break up the couple, but her attempt to humiliate Kimmy at a karaoke bar backfires. She manipulates Kimmy into asking her father to offer Michael a job, which Jules knows will anger Michael, but this fails as well.
Frustrated, Jules begs her friend George for help, and he flies to Chicago. On George’s advice, Jules prepares to confess her feelings to Michael, but instead tells him that she is engaged to George, hoping to make Michael jealous. George, who is gay, plays along but embarrasses Jules at lunch with the wedding party, singing “I Say a Little Prayer” as the whole restaurant joins in. George flies home, and Jules tells Michael that her “relationship” with George is over. Michael admits to feeling jealous and gives her the chance to confess her own feelings, but she lets the moment pass, and they share a dance as Michael sings “The Way You Look Tonight”.
The day before the wedding, at Kimmy’s father’s office, Jules uses his email account to forge a message from him to Michael’s boss, asking that Michael be fired to allow Kimmy’s father to hire him at Kimmy’s insistence. She saves the message rather than send it, but later realizes that Kimmy’s father has unknowingly sent the email. Jules lies to enlist Michael’s help, but they find the office locked. Returning to Jules’ hotel, Michael receives a message from his boss notifying him of the email. Furious, he calls Kimmy, calling off the wedding.
The next morning, Jules discovers that neither Michael nor Kimmy have told anyone else that the wedding is off. She tries to manipulate the couple into breaking up for good, but Michael and Kimmy decide to get married after all. Jules finally confesses her love for Michael and kisses him. Kimmy witnesses this and drives away, pursued by Michael, who is followed by Jules in a caterer’s truck. Jules calls George, who assures her that Michael loves Kimmy. Finding Michael at Chicago Union Station, Jules confesses to everything. He forgives her, and they split up to look for Kimmy.
Jules finds Kimmy in the bathroom of Comiskey Park. Amid a crowd of onlookers, Kimmy confronts Jules for interfering with Michael. Jules apologizes, assuring Kimmy that Michael truly loves her, and Kimmy and Julianne reconcile. The wedding proceeds, and at the reception, Julianne gives a heartfelt speech as Kimmy’s maid of honor. Jules and Michael share their goodbyes, both finally moving on. On the phone with George, Jules is surprised to see him at the reception, and they dance together.