Criminals Robert "Bobby" Trench (Denzel Washington) and Michael "Stig" Stigman (Mark Wahlberg) are questioned by the United States Border Patrol after a meeting with drug lord Manny "Papi" Greco (Edward James Olmos) in Mexico. Unknown to Stig, Bobby is an undercover DEA agent and reports to his superior, Jessup (Robert John Burke), that he failed to acquire cocaine from Papi that they could use as evidence to convict him.
Against Jessup's orders, Bobby decides to remain undercover and assist Stig in robbing $3 million - stashed in the vault of the Tres Cruces bank - from Papi, so they can prosecute Papi for money laundering. Bobby has a rendezvous with fellow DEA agent and former lover, Deb Rees (Paula Patton), who is also seeing another man, while Stig, an undercover enlisted Intelligence Specialist with the Navy SEALs, meets with his commanding officer, LCDR Harold Quince (James Marsden), who instructs Stig to kill Bobby so the Navy can use the stolen money to fund unauthorized covert operations.
During the heist, Bobby and Stig are surprised to find $43.125 million in the vault instead of the expected $3M. After the heist, Stig follows orders to betray Bobby and escape with the money, managing to pull his gun right as Bobby is about to pull his own. Unwilling to kill Bobby, Stig wounds Bobby in the shoulder, and then sees Bobby's DEA badge. Not sure what to think of Bobby, he leaves Bobby behind in the desert and leaves with the money. Stig meets with Quince, and after learning what happened, Quince attempts to have Stig killed. Stig escapes after learning the money will be transferred to a Navy base in Corpus Christi. Meanwhile, a man named Earl (Bill Paxton) aggressively interrogates the Tres Cruces bank manager about the stolen money and also questions the vet who treated Bobby's wounds as he tracks Bobby's movements.
However, Bobby goes to Stig's apartment to find out where he took the money, only to have Stig contact him from a sniper's post across the street. A hit squad sent by Quince attacks the apartment but Bobby and Stig escape. Bobby visits Jessup to tell him what happened, but Earl and his men are there waiting for him. Earl kills Jessup, frames Bobby for the murder and lets him go, making a deal that if Bobby returns the $43 million he will be cleared.
Bobby and Stig kidnap Papi and interrogate him in the garage at Deb's house. They find out Earl is a black ops operative to whom Papi reports, and that the money they stole belonged to the CIA. The garage is attacked by another hit squad, led by Quince, and the trio ends up being captured by Papi and taken to his farm in Mexico. After beating them and receiving a visit from Earl, Papi gives the pair 24 hours to steal the money from the Navy and return it to him, or Deb will die.
At the base, Bobby infiltrates Quince's office, only to discover Quince is Deb's boyfriend, and they had planned to steal the money for themselves. Meanwhile, Stig asks Admiral Tuway (Fred Ward) for help. Tuway orders Quince's arrest, but disavows Stig to prevent the scandal from tarnishing the Navy's reputation. Quince evades arrest, as does Stig. Unable to find the money, Bobby is too late to prevent Papi from killing Deb. He later realizes that the money is in a motel room that he and Deb frequented and goes to help Stig, who had returned to Papi's farm alone to exact vengeance.
There, Stig is surrounded by Papi's men until both Quince and Earl intervene. Bobby arrives in a car filled with money, and then blows up the car, scattering the money everywhere, which leads to a massive shootout. During a standoff among Quince, Earl, Bobby, and Stig, Earl reveals that the CIA has 20 other secret banks, and the loss of the $43.125 million is only a minor setback. Signaling Stig with a phrase from an earlier conversation, Stig shoots Earl, and Bobby shoots Quince. Bobby and Stig kill Papi and the duo escapes, but not before Bobby shoots Stig in the leg as payback for shooting him in the desert. While planning to continue to take down the CIA's secret banks and sabotage their black operations, Bobby reveals to Stig that he did not blow up all the money and had some stashed away.Denzel Washington as DEA Special Agent Robert "Bobby" Trench
Mark Wahlberg as USN Petty Officer Michael "Stig" Stigman
Paula Patton as DEA Special Agent Deb Rees
Bill Paxton as Earl
James Marsden as USN Lieutenant Commander Harold Quince
Fred Ward as USN Rear Admiral Tuwey
Edward James Olmos as Manny "Papi" Greco
Robert John Burke as DEA Special Agent Jessup
The film is an adaption of the comic series of the same name by Steven Grant. However, it has been noted by the Observer that it can also be seen as evocative of the 1973 thriller Charley Varrick. The pictures have similar plots and in both cases the bank being robbed is in Tres Cruces, New Mexico.
Filming took place in New Orleans, Louisiana and areas throughout New Mexico. While filming in Louisiana, the production spent $57.5 million in the state and received a $17.6 million subsidy under the state's film incentive program. 2 Guns marked the second collaboration for Wahlberg and Kormákur: they first worked together on the film Contraband. It also marks the second collaboration between Washington and Patton after having starred together in Déjà Vu.
On Rotten Tomatoes the film has an approval rating of 64% based on 164 reviews. The site's consensus reads, "Formulaic and often jarringly violent, 2 Guns rests its old-school appeal on the interplay between its charismatic, well-matched stars." Metacritic gave a score of 55 out of 100 based on 43 critics, indicating "mixed or average reviews".
Ben Kenigsberg of The A.V. Club gave the film a C+ rating, describing it as "the no-frills action, half-pint Jim Thompson scenario, and buddy-cop wisecracks". Peter Bradshaw of The Guardian gave the film 2 out of 5 stars. R. Kurt Osenlund of Slant Magazine gave the film 2 out of 4 stars. "It's noticeably odd that 2 Guns has the desire to make offhanded socio-political statements, but not the will to take them anywhere truly provocative," he wrote. Peter Travers of Rolling Stone also gave the film 2 out of 4 stars, commenting that the film didn't make the extra effort. Lisa Kennedy of Denver Post gave the film 3 out of 4 stars, writing that "the biggest guns this action flick brandishes are stars Denzel Washington and Mark Wahlberg who have very different acting styles that work surprisingly well together".
The film grossed $75,612,460 in North America and $56,327,951 in other countries, with a $131,940,411 worldwide gross against a budget of $61 million, having debuted at the top of the box office with $27,059,130 in its first weekend.