Romantic and single Jane (Katherine Heigl) has been a bridesmaid 27 times and loves everything about weddings. Wedding reporter Kevin Doyle (James Marsden) finds her filofax which contains details of dozens of weddings and all the duties she does for all the brides-to-be. When her sister Tess (Malin Akerman) comes to town and falls for Jane’s boss George (Ed Burns), Jane is jealous she’s had a secret crush on him for years. After a whirlwind romance Tess and George get engaged, with Jane asked to be the maid of honor. Jane gets more and more irritated with Tess when she winds up doing all the planning for the wedding and it becomes obvious that Tess isn’t being honest with George (Tess lies about being a vegetarian, an animal lover, etc. all to ensure George stays with her).
Meanwhile Kevin and Jane’s relationship starts to grow until an unflattering article that Kevin wrote about Jane’s bridesmaid career is published in the Sunday paper. Kevin had asked his editor not to release the article but the damage is done and Jane breaks ties with Kevin. Jane finally reaches the end of her rope when Tess butchers their late mother’s wedding dress to make it more fashionable for her own nuptials. At the rehearsal dinner Jane reveals that Tess has been lying to George about who she really is and George breaks the engagement off. Kevin shows up to apologize to Jane. At first she refuses him but then realizes she does love him. She goes to a wedding he is reporting on and they kiss. A year later, Jane and Kevin get married, Tess and George speak for the first time and it is hinted that there is still love there, and Jane has 27 bridesmaid and makes each one wear the dress she wore to their own wedding.