In the offices of a pharmaceutical company called Promethium, we see the CEO Richard Rusk (Joel Edgerton) being interrupted from having sex from behind with his co-boss Elaine Markinson (Charlize Theron) by a phone call. Richard answers to hear his friend and employee, Harold Soyinka (David Oyelowo), crying for help, claiming he has been kidnapped in Mexico and that his abductors are demanding a ransom of $5 million.
We go back to two days earlier where Harold is merely a mild-mannered rep for Promethium, living in Chicago and married to Bonnie (Thandie Newton). He meets with his accountant, who tells him that because of Bonnie's reckless spending, they are broke. When he gets to work, Harold is told by Richard that the two of them, plus Elaine, are going to be flying to Mexico to handle business involving a company merger, although Harold doesn't know that it's supposed to be a merger. Richard makes an allusion to a study he read on a gorilla being fed carrots when he wants bananas as a means for Harold to be convinced to go through with this so he will eventually be rewarded. Harold goes into Richard's office and finds a file on his computer that he copies to his own drive.
Elsewhere in the city is a guitar shop run by Sunny (Amanda Seyfried) and her boyfriend Miles (Harry Treadaway). A friend of Miles, Nelly (Paris Jackson), enters the shop to tell Miles that someone down in Mexico wants him to smuggle some drugs into the U.S. He agrees to it and decides to take Sunny with him.
Harold, Richard, and Elaine arrive in Mexico where they meet Angel (Yul Vasquez), an old friend of Harold's. They go meet with a rep of theirs named Celerino Sanchez (Hernan Mendoza). Richard and Elaine enter his office while Harold sits outside. It turns out they have been selling their latest product to the Mexican cartel in order to get more money back, and now Promethium has decided to cut them off to avoid harming their merger.
Later on, the three have dinner, with Harold secretly recording what Richard and Elaine say about him when he walks away. At the hotel, he is having a Skype call with Bonnie where she admits to having an affair and that she plans to leave Harold. He attempts to get her to talk more, but she hangs up on him.
Meanwhile, Sunny and Miles arrive in Mexico as Miles maintains contact with his guy that wants to send the drugs back with him.
Sanchez goes to meet with cartel leader Villegas, the Black Panther (Carlos Corona). Sanchez tells Villegas about them getting cut off by Promethium, and after showing Villegas a picture of Harold, the kingpin is led to believe that Harold is the boss, so he orders his men to go find him after having them cut off Sanchez's toe to show that nobody messes with them.
Back at Promethium, Richard and Elaine promote their new product, a weed pill called Cannabax, to potential buyers Jerry (Alan Ruck) and Marty (Kenneth Choi). Elaine uses her sex appeal to sway the men into buying what she and Richard are selling.
Harold is left behind in Mexico to handle other business. As the cartel goes looking for him, they find that he has left the hotel and is now staying at a smaller motel run by brothers Ronaldo (Diego Catano) and Ernesto (Rodrigo Corea). Harold later gets the brothers to help him make a phone call. He calls Richard but is actually pretending to be kidnapped in exchange for the ransom, but Richard and Elaine cut him off because they are having sex in the bathroom, although they believe their business with the cartel is catching up to them and they are genuinely terrified. To fix the situation, Richard calls his brother Mitch (Sharlto Copley) to find Harold and take him home.
Harold spends the evening getting drunk at a bar. The bartender is in league with the cartel, and he alerts the bosses when he recognizes Harold. Two men show up to take Harold away, but he is too drunk to realize something is wrong. On the trip back to Villegas, Harold is able to understand them in Spanish when they say they got Harold. He also sees a gun that one of the thugs is holding. Harold fights the man for the gun, causing him to shoot the driver and sending them crashing off-road.
One of Villegas's men shows up to the motel to ask Ronaldo and Ernesto if they have seen Harold. They deny it at first but then become convinced to send him to Villegas if it means they will be rewarded with money.
In the morning, Harold is dazed and in pain when he sees Sunny and Miles driving down the street. She orders Miles to stop, and they take Harold back to their room once he passes out. Sunny tends to his wounds and calls him Harry. Soon, Ronaldo and Ernesto (in masks) attempt to kidnap Harold. Before they can get out the door, Mitch shows up and knocks the two of them out and takes Harold with him.
Elaine goes to Richard's apartment building and sees him by his window with another woman. She musters up the courage to confront him and finds that Richard is with Bonnie, whom Elaine knows is Harold's wife. Elaine mentions that she had sex with Richard in the toilet of an airplane, leading Bonnie to walk out.
Mitch takes Harold to the airport, but he runs away after thinking he's getting kidnapped again. Mitch catches him and takes him back to his room where he injects him with a tracker to know where he is at all times. Mitch makes a deal with Harold to try and get Richard to pay a larger sum of money for Harold's return. When Mitch calls Richard to make that deal, Richard tells him that the company is planning to collect a life insurance claim on Harold if he were to end up dead. Mitch reluctantly agrees to take him up on that offer.
Harold and Mitch go out on the streets where they are spotted by Ronaldo and Ernesto. Mitch attempts to kill Harold but cannot bring himself to do it as he has grown fond of the guy, though he admits what Richard was planning. Mitch is then struck by a car driven by the brothers, who take Harold with them to Villegas.
The brothers take Harold to Villegas's ranch where the kingpin promptly has them both executed. He tells Harold not to worry as they only want access to the drug company's vault to take a surplus of the weed pill. They drive to the lab where Miles is meeting with his guy to take the product. This leads to a huge shootout when the police arrive, with everyone firing upon each other. Harold gets away with Angel, who reveals himself to be an undercover DEA agent that infiltrated Villegas's gang as well as Promethium. They are chased by the cartel members who run them off the road. As he climbs out of the wreckage, Harold shoots one of the goons, while the other is shot by Mitch, who managed to track Harold. Unfortunately, the first goon is still alive and he shoots Mitch in the head, killing him, and Harold kills the goon in return. Harold gives Angel his drive with the information he needs to bring Richard down. Harold also admits he can't return home since he won't have a job or wife to return to. Angel says people disappear in Mexico all the time, and that he will allow Harold to fake his death. Harold goes to Mitch's body to briefly mourn him before taking his car, which has a ton of cash and forged passports.
In the aftermath, Villegas and his men, along with Miles, are all arrested. Harold is declared dead back home, and a funeral is held for him, which Bonnie attends. She later gets fat after being alone. Richard is arrested and sentenced to 15 years, and Elaine takes over the company. While in prison, Richard receives a banana peel with the message "Dear Richard - Eat your carrots", letting Richard know that Harold is alive.
Harold stays in Mexico and opens up a bar by the beach. He maintains contact with Sunny and sends her a message on her birthday. The film closes with Harold looking to the audience and smiling.