Set around five years after 'First Blood', John Rambo (Sylvester Stallone
) is working in a labor camp prison somewhere in the USA when he gets a visit from his former commander, Colonel Sam Trautman (Richard Crenna
). Trautman offers Rambo the chance to be released from prison after being convicted by a military court after the events of the first film and given full clemency, but on condition of taking a mission where he will infiltrate Vietnam to search for American POWs that are still rumored to be held by the Vietnamese.
Rambo travels with Trautman to Thailand and meets Marshal Murdock (Charles Napier
), an American bureaucrat who is in charge of the operation, and his right-hand men who are freelance military contractors Ericson (Martin Kove
) and Lifer (Steve Williams
). Murdock tells Rambo that the American public is demanding knowledge about the POWs and they want a trained commando to go in and search for them. Rambo is briefed that he is only to photograph the POWs and not to rescue them, nor is he to engage any enemy soldiers due to the unstable situation between the USA and Vietnam. Rambo reluctantly agrees and he is then told that a CIA informant named Co will be there to receive him in the jungles of Vietnam. Before he leaves on his mission, Rambo tells Trautman that Murdock is lying about his combat experience. Rambo tells Trautman he's the only person he can trust.
Rambo parachutes into the Vietnamese jungle, but loses most of his equipment in the process due to the faulty jump and is left only with his knives, his bow, and arrows. Miles from his landing spot, Rambo is met by a woman named Co-Bao (Julia Nickson
), who introduces herself as his contact (Murdock had incorrectly identified the contact as a man). Co arranges for her and Rambo to go upstream with a group of local river pirates. During the boat ride, Co reveals that she would like to eventually travel to America, while Rambo confides to her that he was chosen for this mission because he is expendable.
Rambo is led to a nearby camp commanded by Captain Vinh (William Ghent
). After dispatching a sentry with a throwing knife, Rambo finds an American, Banks (Andy Wood
), hanging from a makeshift crucifixion and frees him. Banks warns that several other American POWs are being held there. A patrol discovers the dead sentry, and Vinh's second-in-command, Lieutenant Tay (George Cheung
), heads out into the jungles in search of the intruder. Rambo, Co, and Banks escape with the pirates, but are attacked by a Vietnamese gunboat and are promptly betrayed by the pirates, who fear the military's reprisals should they not cooperate; Rambo sends Co and Banks to safety and manages to destroy the gunboat with an RPG and kill all the pirates.
Rambo radios and calls for extraction. Trautman, Ericson, and Lifer head out in a rescue chopper. However, once it becomes apparent that Rambo has a live POW with him, Murdock radios the chopper, ordering them to scrub the extraction and return to base. When Trautman protests, Lifer pulls a gun on him. Ericson tells him they have their orders (implying that he doesn't like it either), but Trautman denounces them both as "goddamn mercenaries." Rambo and Banks watch helplessly as the helicopter flies off, and are forced to surrender as Tay's squad advances. Co, having escaped, watches from the jungle nearby.
Back at the base in Thailand, Trautman angrily confronts Murdock, accusing the whole mission of being a sham, Rambo wasn't supposed to find anything there. He suspects that the whole situation is really about money; the US government refused to pay war reparations to Vietnam, and the Vietnamese apparently kept American POWs for revenge. Murdock tells Trautman that the political situation is far more delicate than he realizes, and he needs to swallow his pride and let this go. Trautman refuses, while also insisting that Murdock should be more worried about Rambo.
Rambo's wrists are bound to an oxen yoke and he is lowered naked into a chest-deep, leech-infested cesspool (or possibly a pit dug especially for the purpose of torture). The torture is briefly interrupted by the arrival of Vinh's Soviet Liason officer, Lt. Col. Podovsky (Steven Berkoff
) and his silent, robust henchman Sergeant Yushin (Voyo Goric
). Although Podovsky orders Vinh to take Rambo out of the cesspool and clean him up, the POWs believes things are about to get worse for him. Podovsky orders Rambo to contact the American military and tell them that they should not send any more commandos for rescue operations in Vietnam. When Rambo refuses, Yushin tortures him. This yields no results, so they bring in Banks and threaten to kill him. Rambo grudgingly agrees to Podovsky's condition.
Meanwhile, Co enters the camp in the guise of a prostitute and comes to the hut in which Rambo is held captive. Rambo uses the radio to contact the US base in Thailand, but instead of relaying Podovsky's message, he uses this opportunity to swear vengeance on Murdock. He punches out Yushin while Co dispatches another guard with her shotgun. The two then proceed to fight their way out of the camp. Once they are a safe distance away, Co tends to Rambo's wounds and begins to implore him to take her to the United States. Rambo agrees and they kiss, however they are then attacked by some Vietnamese soldiers and Co is killed by Tay, whom escapes. Rambo kills them the remaining Vietnamese soldiers and then buries Co's body in the jungle.
Following his escape, the camp's Soviet and Vietnamese soldiers are sent to look for him. Rambo assembles his weapons, and using guerrilla warfare tactics, is able to kill a large number of enemy troops, including Vinh. He proceeds to a nearby enemy camp and destroys it and several vehicles with explosive arrows. He comes face-to-face with Tay and kills him with an explosive arrowhead. Yushin appears in a UH-1N Twin Huey and drops a firebomb on Rambo's position. Rambo escapes and hijacks the Huey helicopter after killing Yushin and proceeds towards the POW camp. He destroys most of the camp with the helicopter, then lands and arms himself with the M-60 machine gun that is mounted on the Huey, kills the remaining Vietnamese soldiers, and rescues all the POWs. They get to the helicopter and head towards the American camp in Thailand.
Podovsky chases them in his Mi-24 helicopter gunship. Although Rambo's helicopter is heavily damaged by Podovsky's helicopter, he manages to land his helicopter on a river, then plays dead. When Podovsky comes near him and gets careless, Rambo fires a LAW 66mm rocket at Podovsky's chopper, obliterating it.
Rambo then returns to the base and shoots up Murdock's command center. He threatens Murdock with a knife, challenging him to find and rescue the remaining American POWs in Vietnam. As Trautman prepares to leave the camp, Rambo says that he will be staying in Asia in a bid to find himself. Trautman agrees that their government gave them a raw deal, but he asks that Rambo not hate his country for it. Rambo insists that he doesn't, he only wants his country to love its soldiers as much as its soldiers love it. As he leaves, Trautman asks him, "How will you live, John?" To which Rambo replies, "Day by day." The film credits roll as Rambo walks off into the distance while his mentor watches him.