A suicide bomber detonates himself at a party in Java, Indonesia, and a Javanese Sultan’s daughter, Sultana (Atiqah Hasiholan), is believed to be one of the unidentified victims. Jake Travers (Kellan Lutz), an American posing as a graduate student from Cornell University, was at the scene of the blast and is held as a witness by a police detective of Detachment 88, Lieutenant Hashim (Ario Bayu).
After interviewing Jake at the crime scene, Hashim and Jake are attacked by terrorists led by Malik (Mickey Rourke) and his henchman Achmed. Jake saves Hashim and kills two terrorists, but Achmed manages to escape. Hashim becomes suspicious after he observes Jake’s combat skills. Jake and Hashim are brought to the hospital where Hashim’s wife meets Jake. At Hashim’s wife’s insistence, Hashim invites Jake to their house for breakfast. At the house, Hashim tells Jake that he ran a background check on him through Interpol. Jake tells Hashim he is an FBI agent conducting an undercover investigation, and suggests they cooperate with one another.
Returning to his apartment, Jake faxes to a friend stateside a photo of a tattoo from the corpse believed to be Sultana’s. Jake’s friend informs him that the tattoo is typically used by Chinese high-class prostitutes, which confirms Jake’s suspicion that the body is not Sultana’s.
Jake follows a lead to a night club, where he brings home a prostitute bearing a similar tattoo. When the prostitute cooperates with Jake, they are ambushed by Hashim’s terrorists and a Chinese gang operating the prostitution ring. The police, who had been covertly surveilling Jake, intervene and suffer casualties in the fight. Jake flees the scene, but the police eventually capture him.
Hashim arrives home and discovers his family is kidnapped. Malik calls Hashim on a cell phone left at the house and taunts him. Hashim visits the police station, where he observes two U.S. Marines officers talking to his superior. Hashim confronts Jake again about his identity. Jake admits he is not FBI, but a Marine who is tracking terrorist activities because his comrades were killed by bombs from Malik’s terrorist group. Jake then suggests that Hashim cooperate with him to find his family. Jake later confesses to Hashim that the terrorists also killed his brother.
Suspecting that Sultana was actually kidnapped rather than killed, Jake and Hashim meet the Sultan, who oddly avoids discussing the matter in front of his vizier. The Sultan then slips Hashim a secret message requesting a private meeting. Later the Sultan meets Hashim and confides to him that Sultana was kidnapped and his throne is the ransom. The Sultan suspects his vizier is behind the plot. The vizier, however, learns about the meeting and a shoot-out ensues. Hashim and Jake manage to escape, but the Sultan is fatally wounded.
Hashim and Jake intercept the vizier and his men at a bank as they are carting off the Sultan’s royal jewelry. Hashim and Jake hide in a spa when Malik calls Hashim and threatens them. Hashim discovers Malik had intercepted his phone to reveal their location. Malik, who is outside, attacks Hashim and Jake with an RPG. In the ensuing chaos, Jake manages to save a royal jewel. As it turns out, Hashim’s family is held captive in a van, and Malik and Achmed argue whether or not to set them free. In rage, Malik stabs Achmed. Disguised as paramedics, Jake and Hashim flee the site in an ambulance with a wounded Achmed inside. Before he dies, Achmed reveals where Hashim’s family is being held captive.
Jake and Hashim chase Malik through a Vesak ceremony at Borobudur temple. They rescue Sultana and Hashim’s family from Malik, and subsequently kill him. Jake secretly switches the jewel held by Malik with the one in his possession.
Jake is at the airport where he returns the jewelry to Sultana, as Hashim watches. Jake then boards the plane to face a Court Martial in the U.S.