A bus full of children arrives at a museum. They're a rowdy bunch that frighten the guards. A young woman named Mary Beth (voice of Christina Applegate) comes out and gets the kids to follow her as she tells them about the famous legends and myths of Mexican folklore. She leads them to the Book of Life, which holds the story of how the ways of their world were shaped. She opens a box of dolls that represent the characters of the story.
As the story begins, Mary Beth says there were two gods - La Muerte (voice of Kate Del Castillo), ruler of the Land of the Remembered, where the spirits live on with their memories kept by their loved ones; and Xibalba (voice of Ron Perlman), ruler of the Land of the Forgotten, where the forgotten souls decay into oblivion.
The two spirits watch over the town of San Angel and see three young children playing - Manolo (voice of Emil-Bastien Bouffard), Maria (voice of Genesis Ochoa), and Joaquin (voice of Elias Garza). Both boys are in love with Maria, but she does not wish to be claimed by anyone. Manolo comes from a family of bullfighters, but his real passion lies in music. Joaquin is more adventurous, hoping to avenge his father after he was killed by the sinister bandit Chakal (voice of Dan Navarro).
Disguised as peasants, La Muerte and Xibalba go down to San Angel during a celebration of the Day of the Dead. Manolo and his father, Carlos Sanchez (voice of Hector Elizondo), remember his mother Carmen. La Muerte, as an old woman, asks Manolo for a piece of bread. He gladly gives her a whole loaf. Xibalba, as an old man, asks Joaquin for some, but he is more hesitant. Xibalba gives Joaquin a pin that is called the Pin of Everlasting Life, which is something Chakal is after as it can protect him from death. Xibalba then bets La Muerte that Maria will end up marrying Joaquin, while La Muerte bets on Manolo. The winner will be allowed to rule over the Land of the Remembered. The wager is set.
Maria, a free and rebellious spirit, sets free a group of animals into the town after seeing a cute baby pig and fearing that he would be killed by the butcher, to the chagrin of her father General Posada (voice of Carlos Alazraqui). A wild boar comes into town and nearly gets Posada, but Manolo manages to lure the boar like a bullfighter with the red cape. He gets the boar to crash into a wall, but Posada, who was unable to see anything, thinks it was Joaquin that saved him, ignoring Manolo in favor of him. As punishment for her actions, Posada orders Maria to be sent to a private boarding school. She sadly leaves her two friends behind. Manolo gives her the baby pig that she wanted to save, which Manolo names Chuy. Maria gives him a guitar after his old one is broken. On it is an engraving that says "Always play from your heart."
Over the years, Carlos mentors Manolo (now played by Diego Luna) into becoming a skilled bullfighter, while Joaquin (now voiced by Channing Tatum), with the help of the pin, manages to conquer many enemies and become the town hero. The day comes for Maria (now voiced by Zoe Saldana) to return home. A big celebration is held in town. Manolo and Joaquin see her and are captivated by her beauty. Manolo is set to fight a bull, but he has qualms over killing it. Although he is able to make it crash into the wall, he is told by Carlos to kill it, but he refuses. Everybody boos him, but Maria applauds him for his compassion. Somebody throws Manolo a guitar to his head, knocking him out. When he comes to, his father expresses his disappointment, saying he is not a real Sanchez.
General Posada holds a party for Maria, where Joaquin suggests that Maria ought to be with him so that he can make her happy. This does not go over well with Maria, who tells him off and leaves. Meanwhile, Manolo gets his Mariachi band friends, the Rodriguez brothers (voices of Gabriel Iglesias, Cheech Marin, and Ricardo Sanchez), to help serenade her. The brothers play some tunes (like Biz Markie's "Just A Friend"), none of which impress Maria. Manolo serenades her with a song from his heart, which even moves all the townspeople. The brothers form a ladder to bring Manolo up to Maria's balcony so they may kiss, but she tells him it's not gonna be that easy.
Joaquin proposes to Maria. Their marriage would keep San Angel safe from Chakal and his bandits. Manolo arrives and fights with Joaquin over Maria, which she thinks is foolish. Manolo later tells Maria to meet him at dawn.
Fearing he will lose the wager, Xibalba turns his staff into a snake and sends it after Manolo. Maria follows a trail of candles to a tree where Manolo is. He professes his love to her, which she reciprocates. Then, the snake slithers into the area. Maria pushes Manolo out of the way, getting bitten by the snake. She dies instantly. Manolo screams in rage. He carries Maria's body back to San Angel, where both Joaquin and General Posada blame him for Maria's death.
Manolo returns to the tree, mourning his love. Xibalba appears before him, and Manolo states that he will do anything to be with Maria again. Xibalba uses his staff to form a two-headed snake, which bites Manolo and kills him.
Manolo's spirit goes down to the Land of the Remembered, looking like a skeleton. It is a remarkably wonderful looking place where the remembered spirits roam around. The captain of the land comes by and learns he is part of the Sanchez family. He escorts Manolo to meet them. He meets his famous ancestors, including Carmelo (Jorge R. Gutierrez), who never used capes to fight; Jorge (Placido Domingo), who fought with one arm and leg, and is a skilled singer; and Luis (Danny Trejo), Manolo's grandfather who is upset with Manolo for dying so soon. Manolo is taken to meet his mother Carmen (Ana de la Reguera). She is happy to see her son, but not happy that he is there so soon.
With the help of his family, Manolo goes to La Muerte's castle, which is now run by Xibalba. He explains that the snake bite only put Maria to sleep, and Joaquin revived her with the pin. She is awake and learns that Manolo is dead. Angry over being cheated, Manolo vows to tell La Muerte what Xibalba did and to return to the human world.
Manolo, Carmen, and Luis are told to travel to the Cave of Souls to make it to the Land of the Forgotten and meet with La Muerte. There, Manolo is thrown into a labyrinth where three large boulders roll around trying to crush him. Manolo evades all of them, to the surprise of the spirit guardian. The guardian takes a gigantic form and swings down a huge sword onto Manolo, which shatter upon hitting him. Realizing he is pure of heart, the guardian allows Manolo to pass on through
The Sanchez's meet the Candle Maker (voice of Ice Cube), who oversees the lives of everybody in the living world. Manolo convinces him to take him through to the Land of the Forgotten to meet La Muerte. The Candle Maker agrees after seeing that Manolo's story has yet to be written, because he is writing it himself. In The Land of the Forgotten, Manolo, Carmen, and Luis see the lonely spirits decaying and withering away. They make it to Xibalba's castle to find La Muerte. Manolo tells her that Xibalba cheated, sending her into a rage. She summons him and angrily chastises him for betraying her again. Manolo then offers a wager himself. If he wins, Xibalba must let him return to the human world, and La Muerte adds that he may never interfere with the affairs of the living ever again. Otherwise, Xibalba may rule over both realms. The wager is set.
Manolo is forced to face off against every bull that his family has ever fought. In the living world, Chakal and his bandits are making their way to San Angel, just as Maria and Joaquin are about to marry. Carlos charges toward Chakal, only to be killed. His spirit joins his family to watch Manolo fight. The bulls come together to form one giant bull. Instead of fighting it, Manolo sings it a song, apologizing for all the wrongs his family has brought to the bulls. Even as the giant bull nearly kills him, he keeps singing, bringing the bulls to peace, and surprising his family. La Muerte and Xibalba, impressed by Manolo's will, grant him his life back and send him to the living world just in time to fight back
The three spirits decide, since it is the Day of the Dead, to have some fun by summoning all of Manolo's family to fight back against Chakal. Maria rounds up the whole town to fight back as well. Manolo and Joaquin make amends and decide to fight against Chakal together. Chakal grabs Maria and climbs the top of a tower. With the help of his forefathers, including a now proud Carlos, Manolo is sent up to the tower to face off Chakal. With Maria, they fight the bandit and knock him off the tower, also sending them falling as well, but they land safely. Chakal then lights up the bombs on his belt to take the whole town down with him. Manolo and Joaquin push Chakal beneath a bell and tie him up. Manolo knocks over a column to bring the bell down on him and Chakal. He tells Maria not to forget him. The bell traps them both as the bombs go off, killing Chakal, and supposedly Manolo. However, Manolo emerges safely, after Joaquin gave him the pin to stay alive. Joaquin now realizes that a true hero is selfless
General Posada gives Manolo his blessing to marry Maria. The two are wed, with Manolo's family proud of their boy. Manolo and Maria then sing a song and dance with everybody. Xibalba apologizes to La Muerte for betraying her, telling her he loves her. They kiss.
Back at the museum, Mary Beth ends the story as the children must leave. They leave excited after hearing the story. As the bus is set to depart, the kids wave goodbye to Mary Beth, who takes the form of La Muerte, to the joy of the kids. The security guard appears as Xibalba. They kiss again. The story ends, and the Candle Maker closes the Book of Life, reminding us all to write our own stories.