While hunting tapir in the Mesoamerican jungle, Jaguar Paw (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. When Jaguar Paw and his tribesmen return home, Flint Sky tells his son not to let the refugees' fear infect him.
The next morning, after Jaguar Paw wakes from a nightmare involving the refugee leader, he sees warriors entering the village and setting the huts on fire. The raiders, led by Zero Wolf (Raoul Trujillo), attack and subdue the villagers. Jaguar Paw slips out with his pregnant wife Seven (Dalia Hernández) and his little son Turtle's Run (Carlos Emilio Báez), lowering them by vine into a deep vertical cave, tying the vine off so they could climb out later. Jaguar Paw kills a raider and returns to help the village. He is eventually subdued and a raider named Middle Eye (Gerardo Taracena), whom Jaguar Paw almost killed, slits his father Flint Sky's throat while he is forced to watch. Before the raiders leave with their prisoners, Snake Ink, one of the raider captains, notices Jaguar Paw staring toward the cave. Suspicious of the tied-off vine hanging into the cave, he cuts it, trapping Seven and Turtles Run. Jaguar Paw and the other captives are led off into the jungle.
A short distance from the village, they join another group of raiders who have captured the refugees Jaguar Paw met the day before. Later, Cocoa Leaf, a wounded captive tied to the same pole as Jaguar Paw, nearly tumbles off a cliff, but Jaguar Paw and the others pull him back up with incredible effort. Though Middle Eye, who is guarding them, is impressed by this show of brute power, he kills Cocoa Leaf by cutting him loose and pushing him off the cliff. This angers Zero Wolf, who threatens Middle Eye with death if he ever does it again without permission.
The raiding party advance toward a Mayan city, encountering razed forests and failed maize crops, along with villages decimated by plague. A little girl dying of plague prophesies that a solar eclipse and says that a man running with a jaguar will bring the raiders to those who will scratch out the earth and end their world. In the city's outskirts, where the prisoners come upon slaves working in lime quarries, the female captives are sold as slaves while the males are escorted to the top of a step pyramid. The high priest sacrifices several captives, including Jaguar Paw's friend Curl Nose (Amílcar Ramírez), by cutting out their beating hearts before beheading them.
When Jaguar Paw is about to be sacrificed, a solar eclipse occurs. The high priest looks at the emperor and the two share a knowing smile while the people below panic at the phenomenon. The priest declares the god Kukulkan is satisfied with the sacrifices. He asks Kukulkan to let light return to the world and the eclipse passes. The crowd cheers and the priest orders the remaining captives to be taken away and "disposed of".
Zero Wolf takes the captives to a ball court, where they are released in pairs and forced to run within the space, to offer target practice for his men. They are promised freedom if they reach the end of the length of the court. But Zero Wolf's son, Cut Rock (Ricardo Díaz Mendoza), is sent to the end of the court to "finish" any survivors. The raiders attack the runners with spears, arrows and large stones. The first pair to run are Jaguar Paw's last living friends, Smoke Frog and Blunted (Jonathan Brewer). Smoke Frog is struck by a heavy stone, and finished off by Cut Rock, while Blunted is impaled by a spear.
Next up are Jaguar Paw and the refugee leader. Although they almost make it, the refugee leader is shot through the head with an arrow. Jaguar Paw is shot in the waist with another arrow but breaks off the arrowhead. As Cut Rock approaches to finish Jaguar Paw, Blunted trips him, buying time for Jaguar Paw. Cut Rock gets up and kills Blunted, then turns to finish off Jaguar Paw. Instead, Jaguar Paw drives the broken-off arrowhead through Cut Rock's neck, pulls the rest of the arrow from his own back and escapes to the jungle.
As Cut Rock bleeds, Zero Wolf eases him into the next life. Jaguar Paw runs through a withered maize field and an open mass grave of sacrificial victims before finally reaching the jungle. The enraged Zero Wolf and eight of his men pursue the former prisoner into the jungle and toward Jaguar Paw's home. Eventually Jaguar Paw climbs a tree. The pursuers move past him, but a black jaguar in the tree goes after him. The raiders see Jaguar Paw and move to intercept him, but the jaguar kills one of the raiders. They gather to kill the jaguar and ponder this fulfillment of part of the girl's prophecy.
During the pursuit, the raider Drunkards Four is killed by a venomous snake. After running all night, Jaguar Paw is caught between a high waterfall and the raiders, and jumps into the water. Surviving the falls, he shouts that the raiders are now in his homeland, and dares them to continue the chase.
After listening to Jaguar Paw's challenge, Zero Wolf says they must pursue him over the waterfall, but Snake Ink suggests climbing down around the side. Zero Wolf stabs Snake Ink for his impudence. Zero Wolf orders his men to jump down the falls with him. While most make it alive, one is killed. Swimming to shore, the remainder fall into pursuit again. Jaguar Paw escapes a pool of black quicksand and, camouflaged in black mud, resolves to become the hunter rather than the hunted. Protected by the mud, he disables some of his pursuers by throwing a gigantic hornet's nest into their midst.
Jaguar Paw prepares poison darts, dipping them in poison from a tree toad. He kills a raider with his poisoned darts. When Middle Eye comes back to see what is keeping the raider, he sees Jaguar Paw reaching for the dead raider's war club. They race for the club, and although he takes a glancing blow from Middle Eye's weapon, Jaguar Paw grabs the club and kills Middle Eye. As heavy rain falls, Jaguar Paw rushes to save his family, still trapped in a flooding cave. Zero Wolf shoots him with an arrow and advances to finish him off. He blunders into Jaguar Paw's 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 to a beach. There they see what are conquistador ships anchored off the coast and strangely dressed men making their way ashore. Jaguar Paw flees. He returns to save his wife and son from the flooded pit. Seven has just given birth to a second son. 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 in a new beginning.