The movie starts in the Winchester pub in England, where Shaun (Simon Pegg) and his girlfriend Liz (Kate Ashfield) are having a serious discussion about how she wants to do something with just the two of them. Shaun always brings along his obnoxious loser best friend and flatmate Ed (Nick Frost), so she always feels compelled to bring her flatmates David (Dylan Moran) and Dianne (Lucy Davis). Shaun promises he'll make a reservation for two at "that fish place" for the next night and they'll have a wonderful time.The credits roll showing people shuffling along almost zombie-like doing normal everyday chores - walking on the street, cashiers ringing out purchases, etc. It's the next morning and Shaun gets ready to go to work while Ed plays video games. Their other flatmate, Pete (Peter Serafinowicz), is irate because Ed is a slacker who doesn't contribute anything and leaves the front door open. They try to talk to Ed but he basically ignores them and they go to work. Shaun goes to his usual store across the street and gets a Coke before going to his job at some electronics store.
At the store the managers are out so Shaun is temporarily in charge and has to struggle to get the attention of the other workers who brush him off. His stepdad, Philip (Bill Nighy), shows up to the store to condescendingly remind Shaun to buy his mum flowers for her birthday. It's obvious they don't like each other much.
On his way home, people are starting to act odd and coughing and getting into accidents, but he doesn't notice. Instead, a chance meeting with friend Yvonne (Jessica Stevenson) reminds him he forgot to make the reservations. At home he is unsuccessful at getting a table and has to break the news on the phone to a very unhappy Liz. He goes over to their flat with the flowers he bought his mum to make it up to her, but David and Dianne won't let him in. Eventually he gets in and they have a shouting match about Shaun's repeated unfulfilled promises to her. He tries to give her the flowers but she breaks up with him and throws him out.
At the Winchester, Ed and Shaun drink themselves drunk to help Shaun forget about Liz for now. When the bar closes they leave, happily singing and timing their song to a zombie dragging his way up an alleyway. They get home and start scratching some hiphop - "electro" - which wakes Pete and makes him angrily throw the record out the window. Pete has a bandage on his arm saying he got mugged on the way home from work and one of the muggers bit him.
It's the next morning, Sunday, and Ed is playing video games like usual. Shaun goes out to the store like usual, walking right past several zombies who just shuffle along in the street. All the humans have disappeared or gotten gruesomely slaughtered just out of Shaun's sight. He gets his Coke from the cooler - with a bloody handprint on it - and leaves the money on the counter for the now-zombie storekeeper, who is shuffling too slowly up the aisle.
Back home, Ed notices there's a girl out in the garden. They go outside and try to rouse her attention, eventually throwing a rock at her. She turns around and they note how drunk she appears. She shuffles towards Shaun and tackles him, and to "help" Ed goes inside, gets a camera and takes a picture of them. Eventually they push her off Shaun and she stumbles backwards onto an exposed pipe, getting impaled gruesomely through the stomach. She gets up and shuffles towards them again. As another zombie arrives, they freak out and run inside.
Back inside they watch a newscast saying the zombies are all over and to kill them you need to cut off their head or destroy the brain. A zombie shuffles in the front door that Ed left open again, so they grab random things and throw them at the zombie. Ed eventually kills it by smashing an ashtray into its head. Next, the two zombies in the garden smash their way through the window and Ed and Shaun determine to kill them.
They go outside again with Shaun's record collection. After vetoing a lot of the choices to frisbee at the zombies, Ed's few throws mostly miss, so they run to the shed. Ed grabs a shovel and Shaun, a cricket bat. They beat the two to death. They go back inside and Shaun's mum calls, saying some men tried to break in and one of them bit Philip. The two then formulate a plan to pick up Shaun's mum, kill Philip, pick up Liz, and "ride it out" at the Winchester pub. Not before Shaun goes upstairs to freshen up and comes face-to-face with a zombiefied Pete, though, and the two run out to drive Pete's car to his mum's house.
On the way they hit a guy and, after yelling at him to see if he's all right, he gets up to reveal himself a zombie. The two breathe a sigh of relief and continue. They get to his mum's house and Philip is still alive. Barbara (Penelope Wilton), his mum, convinces him to take Philip along and to make up with him. Ed, who had waited outside, ended up crashing the car so they decide to take Philip's car. Before they can get in, however, zombies attack and bite a chunk out of Philip's throat. They get in anyway and drive to Liz's.
At Liz's, Shaun runs to the flat, knocking out zombies on his way and climbing up to their window, where he convinces Liz, David, and Dianne to come along. All seven of them pile into the car and start driving to Winchester. However, Philip dies along the way and turns into a zombie, so the six of them scurry out of the car quickly and decide to walk to the pub. On the way they cross paths with Yvonne, who is accompanied by six people who are mirror images of Shaun's six.
Barbara thinks some of her friends live nearby to where they are so she stops on her own and gets attacked by her zombie-friend. Her screams send Shaun over the fence to fight them off, and he uses a piece of playground equipment to pin the guy into a tree. When the six see that the Winchester is just over the fence but the street is covered in zombies, they decide to act like zombies to fit in, and shuffle and moan their way right to the front door.
The front door is locked and Ed gets a cell call which he takes, making Shaun blow up and hit the phone out of his hand. The zombies all gather around them and stare. David throws a trashbasket through the window while Shaun creates a diversion, and the five get inside. David obviously has something against Shaun as he wants to board up the window before he returns, but Shaun finally does return. The six relax, have a bunch of drinks, and try to stay quiet so the zombies won't notice them.
The power suddenly goes on so Shaun goes to cut the circuits so it stays dark. The zombiefied owner of the Winchester stumbles out so Ed, Shaun, and Liz start running around him in a circle, hitting him ineffectively with pool cues. Suddenly the jukebox, with electricity now, starts blaring a Queen song. David switches all the fuses on and off to try and stop it but attracts attention. Shaun finally solves both problems at once by shoving the owner's head into the front of the jukebox, silencing it and killing him.
However, it's revealed that Barbara's "friend" bit her and she's about to die. Shaun, incredibly distraught, tries not to let her die but she does. David picks up the rifle that they found and aims it at Barbara, ready to blow her head off, but a very upset Shaun puts a broken bottle to David's neck. Dianne, David, Shaun, and Ed almost kill each other over this. It turns out David still loves Liz and resents Shaun for it, and even Dianne knows about it. Finally Barbara becomes a zombie, so Shaun is forced to take the shotgun and blast a hole in his mum's head.
Shaun decks David and Dianne finally yells some sense into her belligerant boyfriend, but just as he's apologizing to Shaun, zombies break through the window and grab David, pulling him out. The girls try to pull him back in, but the zombies, in a very gorey scene, scratch their way into David's insides, pulling out his organs and devouring them. David's leg comes off into Dianne's arms. Freaked out, Dianne loses it, runs to the front door, opens it and tries to beat the zombies to death with David's leg. She's in short time devoured and the zombies enter.
While Shaun shoots at them and Liz fends them off with a coat-rack, Ed tries to put together fire and alcohol to draw all the zombies in and burn the place down. Zombie-Pete crashes in and grabs Ed, biting a chunk out of his neck. Shaun turns and shoots Pete through the eye, and the three of them jump behind the bar. Shaun sets the bar on fire as zombies start getting behind the bar, but they're temporarily saved when the bullets left on the bar start going off and embedding themselves in random zombies. The three go down a trap door into the basement, but finds their exit to the street level locked.
They have two bullets left, so they try to figure out who will kill who (to prevent becoming zombies). As Liz and Shaun ready for one last smoke, the lighter illuminates the controls to the mini-elevator which will open the street-level door. They try to get Ed to come with them but he won't, knowing he'll be a zombie soon. They give him the gun and a final cigarette as the zombies break through the trap door. Shaun and Liz raise themselves to street level.
When they get there, they're still surrounded by zombies. They get ready to fight their way through when suddenly a huge army truck crunches through a bunch of zombies and soldiers jump off and start machine-gunning down rows of zombies. Yvonne is on the truck and she gets Shaun and Liz on the truck to safety.
At the end, Shaun and Liz are living together in a new flat, watching TV. The reports give a bit of aftermath, but never say exactly what caused the zombie epidemic. Various tabloid shows show that zombies are still around - chained up, some working in the retail industry and one Jerry-Springer-esque show has a woman marrying a zombie. Shaun decides to go out back to the shed and Liz tells him to be careful. Turns out they recovered Ed and have him chained up in the shed doing what he did before he became a zombie - playing video games. Shaun joins him and we fade out.