Marjiuana growers, Chon (Taylor Kitsch) and Ben (Aaron Taylor-Johnson) share Ophelia “O” (Blake Lively) in a loving relationship. The Mexican cartel try to recruit Chon and Ben but they decline.
O get kidnapped by the cartel. Chon and Ben go to DEA agent Dennis Cain (John Travolta) for help. Chon, Ben and Chon’s Navy SEAL friends hit one of the cartel leader’s, Elena Sanchez (Salma Hayek) money convoys. Chon and Ben use the money to get more information from Dennis about Elena’s daughter, Magda (Sandra Echeverria) to kidnap her and trade for O.
The dream ending by O is a fire fight during the prisoner exchange in the desert. Almost everyone dies – Elena dies while trying to kill Lado (Benicio del Toro) the traitor in her organization who is working with the rival cartel, El Azul; Chon is shot from various angles; Ben is shot in the neck; Lado is shot by O; Chon injects Ben, himself and O so they die side by side.
The real ending with voiceover by O is less dramatic with Dennis and the DEA taking over the scene when Elena reveals herself. Lado and Magda get away. Elena is jailed while Ben and Chon go free as Dennis negotiated a deal stating they were informants. We find Ben, Chon and O living in a paradise with a simple life as credits roll.