While hunting tapir in the Mesoamerican rainforest, Jaguar Paw/Paksiw (Rudy Youngblood), his father Flint Sky (Morris Birdyellowhead), and their fellow tribesmen encounter a procession of refugees fleeing warfare. The group's leader explains that their lands were ravaged, and asks for permission to pass through the jungle. Flint Sky points out to his son that the visitors were sick with fear, and never to allow fear to infect him.
At dawn the next morning, the tribe's village is raided, its huts set on fire, and many villagers killed with the rest. Jaguar Paw's heavily pregnant wife Seven (Dalia Hernández) and their young son Turtle's Run (Carlos Emilio Báez), escape by hiding in a deep vertical cave, but are left trapped when Jaguar Paw is captured. The raiders, led by Zero Wolf (Raoul Trujillo); Middle Eye (Gerardo Taracena) kill Flint Sky, then lead the captives on a long forced march through the jungle.
On the journey, Cocoa Leaf, a badly wounded captive tied to the same pole as Jaguar Paw, nearly tumbles off a cliff, but Jaguar Paw and the others manage to pull him back up with incredible effort. Cocoa Leaf is killed for this, eliciting anger from Zero Wolf, who threatens his fellow raider with death if he kills a captive again without permission. As the party approach the Mayan cities, they encounter razed forests and failed maize crops, along with villages decimated by plague. A little girl dying of plague prophesies that a solar eclipse will occur and says that a man running with a jaguar will end the Mayan's world. In the city's outskirts, slaves are seen working in lime quarries; the female captives are sold as slaves while the males are escorted to the top of a step pyramid to be sacrificed.
As Jaguar Paw is about to be sacrificed, a solar eclipse occurs. The priest quickly declares the god Kukulkan is satisfied with the sacrifices and asks Kukulkan to let light return. The remaining captives are ordered to be taken away and "disposed of". Zero Wolf and others take the captives away and release them in pairs; they are offered freedom if they avoid being killed during the ensuing target practice. They are teased with the promise of freedom if they reach the end of the length of the court, while Zero Wolf's son, Cut Rock (Ricardo Díaz Mendoza), is sent to the end of the court to "finish" any survivors. Jaguar Paw is shot in the waist, but kills Cut Rock as the latter approaches. Zero Wolf comforts his dying son by easing him into the next life, then sets off with his comrades to chase down and kill Jaguar Paw. Back in his native jungle, Jaguar Paw now has the advantage, although badly injured. His pursuers are gradually whittled down and killed by a black jaguar guarding her cubs, a cliff fall, and poison frog darts. Jaguar Paw is strengthened by remembering his father's injunction never to give in to fear, while his pursuers are weakened by fear and apprehension; some only pursue him due to the force of Zero Wolf's leadership.
Heavy rain begins to fall, threatening to drown Jaguar Paw's trapped family as he races towards their old village. Zero Wolf shoots Jaguar Paw with an arrow, but dies when tricked into the tapir-hunting trap set in the opening scene; he is impaled and killed. Following Zero Wolf's death, the two remaining raiders chase Jaguar Paw out of the undergrowth. As they reach the beach, all three see an incomprehensible sight ahead of them - actually conquistador ships anchored off the coast and Europeans making their way ashore for supplies and water. Jaguar Paw flees while the two raiders are left astounded at the conquistador presence. He returns to save his wife and son from the flooded pit; Seven has just given birth to their second son. Sometime later, as the reunited family look out from the forest toward the Spanish ships, Seven wonders if they should go to the men. Jaguar Paw says they should return to the forest to start a new beginning.