A group of elite highly-trained mercenaries, the Expendables, has been deployed to Somalia to halt local pirates from executing the hostages. Ross (Sylvester Stallone) paid the original agreement of $3 million to secure the release of the hostages. However, the leader demands $5 million, and Expendable member Gunnar Jensen (Dolph Lundgren) instigates a firefight, causing casualties for the pirates. With moral disagreements on hanging a live pirate, Yin Yang (Jet Li) and Jensen have a brief fight, only for Ross to intervene. In the aftermath, Ross reluctantly releases Jensen from duty due to psychological problems.
Ross then goes to a small church, where he meets Mr. Church (Bruce Willis), who offers him a mission which is to deploy in Vilena, South America, to overthrow a local dictator, General Garza (David Zayas). While in the church, Ross also meets one of his old rivals, Trench (Arnold Schwarzenegger). Ross and Lee Christmas (Jason Statham) do initial reconnaissance after meeting with their contact, Sandra (Gisele Itié), only for the mission to go awry. Ross then decides to abort the contract and feels guilt for leaving Sandra behind. Meanwhile, Jensen approaches Garza and his ally, ex-CIA agent James Monroe (Eric Roberts) to identify his former comrades.
Jensen and a number of Monroe's men tail Ross and Yin Yang, instigating a shoot-out during a car chase. Just as the pursuit ends in an abandoned warehouse, Yin Yang and Jensen fight each other a second time, with the both of them in a stalemate. Jensen eventually gets the upper hand and attempts to impale Yin Yang on a pipe, only for Ross to shoot him. Believing that he was going to die, Jensen gives the layout of Garza's palace to Ross.
The Expendables then infiltrate Garza's compound, with Ross bent on rescuing Sandra while Christmas, Yin Yang, Hale Caesar (Terry Crews), and Toll Road (Randy Couture) successfully plant their explosive charges throughout the compound. Ross briefly rescues Sandra, only for Sandra to get re-captured by Monroe. The entire team fights and shoots their way through scores of Garza's henchmen, and manage to kill Dan Paine (Steve Austin) in the process. Ross and Christmas catch up to Monroe and manage to kill him, saving Sandra. Instead of taking the payment money of $5 million, Ross gives it to Sandra in order to restore the country.
The film ends with the team celebrating their victory at Tool's Bar, with Jensen and Yin Yang having reconciled with each other and Lee and Tool challenging each other to a game of knife throwing. Before his final throw, Lee recites a poem about his respect for Tool, who he claims cannot beat him in knife throwing as he walks outside of the bar before turning to make his throw, which lands perfectly in the middle of the screen, implying that it landed at the center of the board.