The film opens by describing the legend of the Tears of the Moon. They are magic petals that come from a special tree that comes with healing powers. Sometime in the mid-16th century, Spanish conquistadors led by Don Lope de Aguirre (Edgar Ramirez) make a voyage to the Amazon to seek the tree out. Aguirre loses most of his men and is left on his own. The legend states that he was found by local villagers and later condemned to be a prisoner of the jungle.
London, 1916 – MacGregor Houghton (Jack Whitehall) is attempting to convince a Royal Society of explorers to fund an expedition to find the Tears of the Moon for research and medicinal purposes, but the group sees it as a waste of time and is only based off a myth. MacGregor’s sister Lily (Emily Blunt) sneaks out while he stalls the group as she goes to the archives of the group. She manages to find a crate containing a special arrowhead that is the key to finding the Tears of the Moon, but also seeking it is German aristocrat Prince Joachim (Jesse Plemons). Lily almost makes it out until Joachim calls her out. She tries to escape on a ladder but Joachim almost causes her to fall until MacGregor stops a bus to let her drop and make her getaway. After they get away, Joachim kills the other men in the room when his identity is revealed, and the curator of the archives tells him who Lily is. Meanwhile, Lily and MacGregor make plans to find the Tears of the Moon (or “Lagrimas Del Cristal”) on their own.
In South America, a tour guide named Frank Wolff (Dwayne Johnson) is taking a group of people on a ride across the river in his boat, La Quila, which is comprised of a bunch of tricks that Frank had set up. He also engages in many lame puns, to the chagrin of the passengers. Frank manages to steer them clear of rough waters.
Lily and MacGregor arrive nearby to seek out Nilo Nemolato (Paul Giamatti), a harbormaster that will provide them with the boat that they need to take their voyage, based on a map that Lily has carried that will take them to the tree. Nilo finds Frank, who owes him money, and when he doesn’t have enough, he takes the engine from Frank’s boat as collateral. Frank sneaks into Nilo’s office when he is out to try and get the engine back, and Lily goes up to the office thinking she is talking to Nilo, but Frank tricks her and attempts to convince her to hire him for the expedition to the tree. This almost works until MacGregor appears with the actual Nilo, and Lily starts to make her leave. The bar they are in is then terrorized by a jaguar, which Frank manages to get to leave the building with a piece of meat. This convinces Lily and MacGregor to join Frank.
Frank leads Lily and MacGregor to his boat as he attempts to put the engine back. Lily is captured by bird poachers hired by Joachim, but she manages to pick a lock and free herself just as his henchmen pursue her. Frank and MacGregor attempt to outrun Nilo’s men as they start to ride the boat out. They manage to catch up with Lily and get her onto the boat, but Joachim learns that the heroes are getting away, so he emerges from his submarine and attack them. He fires a torpedo at them, but Frank drives the boat through an old building as the torpedo passes under them. Frank gets them out of there while the submarine trashes Nilo’s other boats, and Nilo watches his business literally go under.
On the boat ride, Frank cracks jokes at the siblings’ expense, but he spends more time with them. Lily shows him a video camera while they pass through the river with mythical dolphin creatures. Later, the siblings discover that the jaguar from earlier is Frank’s pet named Proxima, which he used as a pawn to convince them to hire him. Lily is upset.
Joachim and his men find an underground cavern where Aguirre and his men are imprisoned within the earth of the jungle. Using river water, Joachim frees the snakes that are part of Aguirre’s body to request his services in seeking out the arrowhead. Aguirre agrees, and Joachim’s men flood the cavern with river water to reawaken the conquistadors.
The trio come across rough waters and nearly go over a huge waterfall, but Frank manages to get them on a path to safety. They make it to land and stop for a moment. Lily goes through Frank’s quarters while he talks with MacGregor, who reveals to Frank that he was disowned by his family and from society because he is gay, and Lily was the only one who stood by his side, even if she can come off a bit rough around the edges at times. Lily comes across several maps of the tree among Frank’s belongings, leading to a confrontation where she accuses him of seeking the tree for himself. Moments later, the three are knocked out by darts.
The three find themselves captive to a native tribe. Frank speaks their language and attempts to deal with them as they request the arrowhead. Lily refuses to give it up and tries to make a run for it, but it is then revealed that the tribe know who Frank is and take part in his ruse. Lily is infuriated with his constant deception, and MacGregor follows suit in punching him in the face. After cooling down, Lily talks to the tribe leader, Trader Sam (Veronica Falcón), to figure out how to decipher the arrowhead, which gives them the location of the tree and explains that the tree blooms in a blood moon. The tribe is then attacked by Aguirre and his men, who have been bound to the jungle for so long that they have become monsters that manipulate creatures like bees and snakes. They nearly get the arrowhead, but Frank gets his hands on it at the expense of being impaled by Aguirre’s blade and thrown from a great height. Lily runs away with it and makes it far enough because the conquistadors are pulled back since they cannot go beyond the river.
In the morning, Lily finds MacGregor and Frank alive. It is then that he reveals to Lily that he is nearly 400 years old. He was previously known as Francisco and was the cartographer on Aguirre’s voyage, as they had grown up together like brothers. Aguirre sought out the Tears of the Moon to cure his sick daughter. After most of their men were lost on the voyage, they were found by the villagers, who used the petals of the tree to heal Frank and Aguirre, and the remaining men. Aguirre became impatient and demanded the tribe’s chief (Pedro Lopez) tell him where to find the tree, but he was deemed not worthy and killed the chief in retribution. Frank helped the chief’s daughter (Sulem Calderon) secure the arrowhead, and in the chief’s dying breaths, he curses the conquistadors and dooms them to be bound to the jungle and never able to leave. Throughout the decades, Frank and Aguirre encountered each other repeatedly and fought countless times, so Frank set up a trap to lure the men into the cavern away from the water, keeping them trapped in stone for centuries. Frank would set up the nearby town and meet many people that he would outlive, and so he has been seeking the tree to finally die in peace.
Frank and Lily make the journey themselves to the tree while MacGregor stays behind with Sam since he is injured. Unfortunately, they are found by Joachim, who takes MacGregor hostage and forces him to help lead them to Lily’s location since the conquistador’s bees have also given them clues. Meanwhile, Sam swims back to the tribe.
Frank and Lily find the site of the tree in La Luna Rota, and Lily must overcome her fear of swimming to make her way underwater and fit through a passage to pull a switch that gets them closer to the tree. After doing so, the waters go down, but Joachim arrives with MacGregor in tow. He makes them enter the passage, and they try to decipher the scripture. Frank and Lily discover that the arrowhead is meant to be a heart, and inside is a jewel that acts as a key. It brings the tree to life as the moon is rising overhead. Joachim and his men attempt to secure the petals from the tree, but they are thwarted by Lily. Aguirre and his men arrive and attack Joachim with his snakes while Lily runs to grab one petal as the moon is passing through and the other petals quickly die, but she grabs the one she needs. Aguirre fights Frank on the boat as he steers it toward a wall to block the river, but he first tells MacGregor to tell Lily that “she is world enough” for him. Joachim comes back to attack, but MacGregor fights him and knocks him against a wall, causing a pillar to fall and crush Joachim. The boat crashes into the wall and stops the water from flowing, permanently imprisoning Aguirre and his men, but Frank as well. Lily brings the petal to Frank to revive him, and it doesn’t appear to work at first, but Proxima roars as she sees that the stone around Frank crumbles. He is alive, but his immortality is gone, and he can now live normally. He and Lily share a kiss.
The trio return to London, where MacGregor tells off the Royal Society to their face that he rejects their application. Lily takes Frank on a tour across London as she shows him how to drive, but he is not very good at it.