The movie starts with a montage of how the brothers were adopted numerous times, each time getting sent back to the orphanage for various misdemeanors. The last time they were adopted Stephen (Mark Ruffalo) convinces his younger brother Bloom (Adrien Brody) to play a role in a larger scheme and they realize that the best laid plans are ones in which everyone gets what they really want in the end (important later). As they grew older, their heists become more elaborate and their scams become bigger. Along the way an explosives master Bang Bang (Rinko Kikuchi) joins their gang. At the last scam, Bloom begins to doubt how real his life is or if his brother Stephen has been writing his fate by creating all of the roles he plays in all of the scams. So he bails to retire in Montenegro to ponder his existence.
It is there that Stephen finds him and invites him back for one last heist. The heist entails giving Penelope Stamp (Rachel Weisz) the experience of being a thief while making her pay the several multi-million dollar payouts throughout the scam. She is a rich orphan that lives in seclusion in the largest estate in New Jersey. She and Bloom fall for each other during the scam, as several unforeseen problems arise. The scam culminates in Stephen being captured by their nemesis Diamond Dog and being held for ransom. When Bloom comes with Penelope to rescue him and pay the ransom in an abandoned theater, he thinks the whole thing is a set-up and that this is how Stephen wrote the scam to end. After a short shoot-out scene, it appears that Bloom rescues Stephen. Stephen and Bloom are standing on stage with the spotlight on Stephen. Stephen tries a card guessing trick one last time on Bloom. He has finally guessed the card right and the brothers part on great terms with Bloom thinking Stephen is well.
While Penelope is driving, Bloom falls asleep in the car. However the shoot-out turns out to be real and that Stephen has been shot and dies. The way we realize Stephen has died is because the blood on Blooms shirt sleeve turns brown. Earlier in the film, we learn that the fake blood that they use in their schemes never turns brown, unlike real blood. So the film ends with Stephen dying but finally getting what he really wanted, which was the card trick he has been practicing throughout the film coming out great. And Penelope and Bloom have each other which is what they all wanted all along.