David Stephens (Christopher Eccleston), a chartered accountant, Juliet Miller (Kerry Fox), a physician, and Alex Law (Ewan McGregor), a journalist, share a flat in Edinburgh. Needing a new flatmate, they interview several applicants in a calculatedly cruel manner to amuse themselves at the applicants' distress before finally offering the room to the mysterious Hugo (Keith Allen). Shortly after Hugo moves in, the trio find him dead in his room, with a large suitcase full of money. They agree to keep Hugo's death a secret and keep the money for themselves. They agree to bury the body in the woods after removing the hands and feet to prevent identification should it be found. They draw lots and David is given the gruesome and traumatising task of dismembering the corpse, with Juliet disposing of the parts in her hospital's incinerator.
Unknown to the three friends, Hugo is being sought by a pair of violent men who are torturing and murdering informants as they follow Hugo's trail. The flat below Alex, David, and Juliet's is broken into, causing them much apprehension and anxiety. The break-in also draws the attention of the police, who are surprised when the three deny that they ever had a fourth flatmate. While Juliet and Alex spend part of the money to 'feel better', David's fears explode into full-blown paranoia. He hides the suitcase of money in the attic, and begins living there, drilling holes in the attic floor to watch the living space below. The relationship between the three becomes increasingly strained and distrustful, with undertones of sexual tension and rivalry.
The men trailing Hugo break into the trio's flat and violently assault Alex and Juliet, until they reveal where the money is. As they each enter the dark attic, David, who has been lying there in wait, kills them with a hammer. David alone visits the same woods to dispose of the two bodies. Alex and Juliet become more worried than ever about David's mental state and David becomes worried that the two are conspiring against him. Meanwhile, the police are already circling, in the form of Detective Inspector McCall (Ken Stott) and Detective constable Mitchell (John Hodge). Juliet secretly buys a plane ticket to South America in anticipation of flight overseas, but also seduces David to get at the money. Matters come to a head after the bodies are discovered by chance the grave having been too shallow and Alex is sent by his newspaper to cover the story. He returns to find Juliet and David have reached an understanding about their shared plans that excludes him. That night, Alex, now fearing for his life, tries to secretly phone the police inspector in charge of the case, but he is interrupted by David and Juliet leaving. The doorstep altercation quickly escalates into a murderous triangular fight. David reveals he knows Juliet's secret plan to betray them and attacks her. In the scuffle, David stabs Alex in the chest but is killed by Juliet before he can finish Alex off.
With David dead, Juliet tells Alex he can't come with her. She then forces the knife even deeper into Alex's torso, pinning him to the floor, before fleeing to the airport with the suitcase of money. However, arriving at the airport, she discovers that she has been tricked: the suitcase is filled not with money but with hundreds of headline clippings about the triple grave taken from Alex's newspaper. Devastated, with no possessions except her plane ticket, and knowing that she will soon be wanted for murder, Juliet flees the country. The police arrive at the flat to find Alex bleeding heavily and pinned to the floor. The camera pans to under the floor to reveal Alex had hidden the missing bundles of cash under the floorboards.
Output: What does David hide in the attack?