The film opens as Leo (Kevin McKidd), an openly gay man celebrating his 30th birthday, arrives home and is very unhappy to find a surprise-party organised by his roommates Darren (Tom Hollander) and Angie (Julie Graham) in full swing. Leo has a complicated personal history with some of the guests and hides in his bedroom, feeling grumpy and old. The movie then goes into an extended flashback which explains this history.
It turns out that his colleague had encouraged Leo to attend his weekly men's group run by New Age type goofball Keith (Simon Callow) whose wife is Sybil (Harriet Walter). There, Leo meets hunky Irishman Brendan (James Purefoy) whom he develops a crush on, which he reluctantly reveals to the group. However Brendan is straight and lives with his ex-girlfriend Sally (Jennifer Ehle) who is later revealed to be Leo's high school sweetheart. A series of 'Iron John' group exercises leads Brendan and Leo to develop a friendship. As they bond, it becomes clear that Brendan's curiosity towards Leo starts to grow in a sexual escalade. In the men's group, one of the other groupsmen become very jealous of Leo's "friendship" with Brendan and that he does not have that with Leo. Brendan fights with the lad over Leo. The friendship is soon to become more, as Brendan appears unexpectedly late one night at Leo's door and sleeps with him; after which they become something of a couple, to the consternation of one man in their men's group, though it encourages another, Terry (Con O'Neill), to explore his sexuality.
Meanwhile, flamboyant Darren has met real estate agent Jeremy (Hugo Weaving), who gets a kick out of having sex in houses for sale he has been given the keys to. However, he is not interested into "couply" things, despite Darren's attempts. Eventually this leads to them having sex with handcuffs and blindfolds in the bedroom of the house which Sally has on the market, during which she unexpectedly returns home. Jeremy abandons Darren, who dumps him. Leo gets close once more with Sally, and ends up kissing her. Feeling guilty, he leaves in a panic, and ends up telling Brendan what happened, who goes ballistic as he still has feelings for Sally. Leo finds himself in a quandary, and decides to confess to Sally that he is the one who is seeing Brendan (Sally had previously believed it was Leo's roommate Angie). He inadvertently does so while Brendan is there too, and leaves Brendan to face Sally.
The film then returns to the party, where Brendan and Terry get into an argument over Leo and take it outside, where Brendan punches Terry on the nose, who crumples. Brendan asks him to go with him for a drink (the same tactic he had employed with Leo). Thus, Brendan starts dating; Leo's colleague and Angie get together; Jeremy and Darren make up; and Leo sleeps with Sally.
The film is notable for bringing together a number of actors on the cusp of breaking out into high-profile careers. McKidd became a leading man in films such as Topsy-Turvy, Anna Karenina (2000) on PBS, Nicholas Nickleby, De-Lovely, HBO's mini-series, Rome, and ABC's Grey's Anatomy. Purefoy, too, received starring roles in Mansfield Park (1999), Resident Evil (2002), Vanity Fair (2004) and as Marc Antony in Rome. Tom Hollander broke through in 2001 in Gosford Park, followed by nominated performances in Cambridge Spies, The Libertine, and Pride & Prejudice. He is probably best known, however, for portraying the villainous Cutler Beckett in Pirates of the Caribbean: Dead Man's Chest and Pirates of the Caribbean: At World's End.
Hugo Weaving had already become well known after his role in The Adventures of Priscilla, Queen of the Desert in 1994 and Babe in 1995 (as Rex the Sheepdog). The year after Bedrooms and Hallways debuted, he became even better known through significant roles in The Matrix film and The Lord of the Rings film trilogy, some of the top-grossing film series of all time.