While hunting in the Mesoamerican rainforest, Jaguar Paw, his father Flint Sky, and their fellow tribesmen encounter a procession of refugees fleeing warfare. The group's leader explains that their lands were ravaged and they seek a new beginning. He asks for permission to pass through the jungle. Flint Sky comments to his son that the visitors were sick with fear and urges him to never allow fear to infect him. Later that night, the tribe gather around an elder who shares a story that cryptically foreshadows the events of the film: an individual who is consumed by an emptiness that cannot be satisfied, despite having all the gifts of the world offered to him, will continue blindly taking until there is nothing left in the world for him to take.
At sunrise the next morning, the tribe's village suffers a raid led by Zero Wolf. Huts are set on fire, many villagers are killed, and the surviving adults are taken prisoner. During the attack, Jaguar Paw lowers his pregnant wife Seven and their young son Turtles Run into a pit. Returning to the fight, Jaguar Paw nearly kills the sadistic raider Middle Eye, but is captured. When Middle Eye realizes that Flint Sky is Jaguar Paw's father, he kills Flint Sky and mockingly renames Jaguar Paw "Almost". The raiders tie the captives together and set out on a long forced march through the jungle, leaving the children behind to fend for themselves. Seven and Turtles Run remain trapped in the pit.
On the journey, Cocoa Leaf, a badly wounded captive, almost falls off a cliff with the other captives dragged after him. After climbing back to safety, he is killed by Middle Eye, eliciting anger from Zero Wolf, who threatens his fellow raider with death if he kills another captive without permission. As the party approaches the Mayan city of the raiders' origin, they encounter razed forests and vast fields of failed maize crops, alongside villages decimated by an unknown disease. A little girl infected with the plague prophesies the end of the Mayan world. Once the raiders and captives reach the city, the females are sold into slavery while the males are escorted to the top of a step pyramid to be sacrificed before the Mayan King and Queen.
Two members of the party are sacrificed, but as Jaguar Paw is laid out on the altar, a solar eclipse gives the executioner pause. The Mayans take the event as an omen that the gods are satisfied, so the remaining captives are spared. Instead, they are taken to be used as target practice and offered freedom if they can run to safety. Jaguar Paw suffers an arrow wound, but escapes into the jungle, killing Zero Wolf's son Cut Rock in the process. Zero Wolf, Middle Eye, and seven others chase after him. Fleeing back into the jungle, Jaguar Paw remembers his father's lesson about fear and resolves to kill his pursuers. The raiders are killed off one by one (including Zero Wolf and Middle Eye), either by traps laid out by Jaguar Paw or natural hazards, until there are only two left.
The drought breaks and heavy rain begins to fall, threatening to drown Jaguar Paw's family, who are still trapped in the pit, despite their attempts to escape. Seven gives birth to another son, who is born under the surface of the dangerously rising water. Meanwhile, the two remaining raiders chase Jaguar Paw out of the undergrowth towards the coast. As they reach the beach, all three are stopped in their tracks by the sight of Spanish ships anchored off the coast and Conquistadors making their way ashore. Jaguar Paw flees while the raiders starts walking towards them out of curiosity, leaving them to their fates. Jaguar Paw returns just in time to save his family from the flooding pit and is overjoyed at the sight of his newborn son.
Later, the reunited family looks out over the water at the Spanish ships. Jaguar Paw decides not to approach the strangers, and the family departs into the jungle to seek a new beginning.
Rudy Youngblood as Jaguar Paw
Dalia Hernández as Seven
Itandehui Gutiérrez as Wife
Jonathan Brewer as Blunted
Mayra Serbulo as Young Woman
Morris Birdyellowhead as Flint Sky
Carlos Emilio Báez as Turtles Run
Amílcar Ramírez as Curl Nose
Israel Contreras as Smoke Frog
Israel Ríos as Cocoa Leaf
María Isabel Díaz as Mother-in-Law
Iazúa Laríos as Sky Flower
Raoul Trujillo as Zero Wolf
Gerardo Taracena as Middle Eye
Rodolfo Palacios as Snake Ink
Ariel Galván as Hanging Moss
Fernando Hernández as High Priest
Rafael Vélez as Maya King
Diana Botello as Maya Queen
Bernardo Ruiz Juárez as Drunkards Four
Ricardo Díaz Mendoza as Cut Rock
Richard Can as Ten Peccary
Carlos Ramos as Monkey Jaw
Ammel Rodrigo Mendoza as Buzzard Hook
Marco Antonio Argueta as Speaking Wind
Aquetzali García as Oracle boy
Gabriela Marambio as Close-Up Mayan Girl
María Isidra Hoil as Sick Oracle Girl
Abel Woolrich as Laughing Man