The film revolves around the funeral service for the father of Aaron (Chris Rock) and Ryan (Martin Lawrence). Aaron, the older son, and his wife Michelle (Regina Hall) live at his parents' home. Aaron and Michelle have been trying to buy their own home and have children but have been unsuccessful. Aaron envies Ryan because Ryan is a successful author, while he has not yet had his novel published, and resents his brother because Ryan would rather spend money on a first class airline ticket than help him pay for the funeral expenses.
Aaron and Ryan's cousin Elaine (Zoe Saldana) and her fiance Oscar (James Marsden) are on their way to pick up Elaine's brother Jeff (Columbus Short) before heading to the funeral. To ease Oscar's nerves, she gives him a pill from a bottle labeled as Valium. Jeff later reveals to Elaine that it is a powerful hallucinogenic drug he has concocted for a friend. Chaos ensues when Oscar hallucinates that the coffin is moving. He knocks it over, and the body falls out of the coffin.
Aaron is approached by an unknown guest, a dwarf named Frank (Peter Dinklage), who reveals himself to be the secret lover of his late father. Frank shows Aaron photos as proof and threatens to reveal them to Aaron's mother unless he is paid $30,000. Aaron tells Ryan, who suggests Aaron pay the money because Ryan claims he is buried in debt. When Aaron and Ryan meet with him to pay him, Frank starts to deride Aaron's ability as a writer and Aaron refuses to pay.
Frank begins to turn violent and puts his hand in his pocket, and tries to leave the room. Ryan attacks Frank and both Aaron and Ryan tie Frank up to prevent him from leaving. Norman (Tracy Morgan) comes in and sees what has happened. He gives Frank several doses of what he also believes is Valium to try to calm him down, before Jeff tells them it is the same hallucinogen Oscar took earlier.
While Jeff and Norman who are supposed to be watching Frank get distracted by Uncle Russell (Danny Glover), Frank frees himself from his bonds, jumps off the couch, and hits his head on the coffee table. With Aaron, Ryan, Jeff and Norman believing Frank is dead, they plan to put him in the coffin. While everyone is outside watching Oscar, who is now naked on the roof, threatening to jump because he saw Elaine's ex-boyfriend Derek (Luke Wilson) kissing her, Aaron and Ryan put Frank in the coffin.
Elaine tells Oscar that Derek forcibly kissed her and calms him down by revealing she is pregnant. With everyone back inside, they continue the eulogy. While Aaron awkwardly tries to give his speech, Frank shakes the coffin from inside it, then suddenly forces it open and emerges. The pictures fall out of his pocket, and Cynthia (Loretta Devine), Aaron and Ryan's mother, sees the pictures, screams at Frank, and starts to attack him. Aaron yells for everyone's attention as he delivers a moving and impromptu eulogy, saying that his father was a good man with flaws like everyone else.
The film ends with Aaron and Ryan saying goodbye while Ryan gets a ride to the airport by Martina, whom he had been trying to seduce all day. Aaron and Michelle are finally alone and going to try to have a baby. Aaron asks where Uncle Russell is and Michelle tells him that she gave him what she believes is Valium to calm him down. In the final scene Uncle Russell is on the roof naked, like Oscar had been, complaining about how "everything is so green".
Critical reception to the film was generally mixed with review aggregator Rotten Tomatoes reporting that 41% of critics have given the film a positive review, based on 119 reviews, with the consensus "It's amusing and it assembles a talented cast, but Neil LaBute's surprisingly faithful remake of the 2007 Frank Oz dramedy ultimately falls short of the original." Another review aggregator, Metacritic, gave the film an average score of 51 based on 25 reviews.
Roger Ebert of the Chicago Sun-Times gave the film 3½ out of 4 stars, believing it was better than the original. He wrote, "here's the best comedy since The Hangover ... a lot of Death at a Funeral is in very bad taste. That's when I laughed the most."