A group of grifters rip off their latest mark and celebrate, while the de facto leader of the group, Jake Vig (Edward Burns) narrates about the art of the con. When one of the four grifters is found shot to death, the other three learn that the latest money they stole actually belonged to a local L.A. crime lord called The King (Dustin Hoffman). Jake meets The King, who proposes that the grifters now go to work for him and steal money from Morgan Price, a rival who now owns a bank. The sociopathic King leaves them little choice in the matter.
Having no options, Jake gets to work on developing a new con; he enlists the aid of his two remaining partners, Gordo and Miles, and also convinces an independent con artist named Lilly (Rachel Weisz) to round out their foursome. Unfortunately, The King, a wiry, manic man who suffers from ADHD, demands that one of his men, Lupus, also work on the con. The con involves bribing a vice president at the bank into wiring money offshore. The plan hits a major snag when Special Agent Gunther Butan (Andy Garcia) shows up in L.A., looking to finally bust Jake, whom he has followed for years. Agent Butan quickly forces two corrupt LAPD detectives into switching their allegiance from Jake to him.
After hearing about Butan's arrival in town, a nervous Jake pulls the plug on the whole con, and screams at Lilly - making her walk out on the group. Lupus gets Jake to reconsider nixing the con, hinting that The King will torture and kill the grifters if the plan falls short. The con is back on, though now without Lilly's help. The plan starts smoothly enough, and the bribed bank VP wires the money to Gordo in Belize. Gordo brings the money to Ontario Airport, but he is met at the airport by both Agent Butan as well as The King and his men, as both sides are after the $5 million in a duffle bag. Butan arrests The King and confiscates the money. Gordo, who had the money taken from him, is nowhere to be found. Lupus, thinking the King now has the money, reveals he was the one who killed Jake's grifter friend at the beginning. Lupus holds Jake at gunpoint, but Jake is saved when Lupus is shot by Travis (Morris Chestnut), a henchman for Morgan Price. It turns out that when Lilly walked out, she went straight to Price himself and revealed the entire con, which was taking place that minute. Price told Travis to locate Jake and find out exactly how the con was engineered, as to stop such a thing from ever happening again.
Travis takes Jake to an abandoned lot where Jake is forced to explain the entire story (hence the narration). At the end, a furious Lilly takes out a gun and kills Jake. Travis demands that he and Lilly both disappear immediately. Minutes later, Butan arrives in a car and Jake sits up from a pool of blood, unharmed. The final parts of the con are revealed. Lilly "quitting" was fake - set up to confuse Lupus. Butan is actually an old confidant of Jake's, and he managed to "confiscate" the money and arrest The King at the same time. Butan has the money and it's split five ways. Jake was wearing squibs to fake his own death in the lot. In the end, everyone was in on everything except The King and Lupus (the first marks) and Price and Travis (the second, bigger marks). As the team of four grifters reunites and celebrates, Jake and Lilly kiss.