The film starts with the voice of Joe Coughlin (Ben Affleck) discussing his time fighting in World War I, and how he witnessed many good men die for nothing. In the years since he returned home to Boston, he had tried to do good, but he would eventually go down a different path.
Joe and two of his partners rob a gangster and pretend to take a woman, Emma Gould (Sienna Miller), as a hostage. In reality, Emma was Joe's "inside man", but he is head-over-heels in love with her. Emma is already the girlfriend of the Irish gang boss Albert White (Robert Glenister), but she and Joe see each other whenever Albert is out of town.
Joe and Emma have dinner together and are met by Joe's father Thomas (Brendan Gleeson), a police captain. Thomas makes a comment regarding one of Emma's relatives, indicating he disapproves of her. Emma is clearly upset by Thomas's behavior with her over dinner, but Joe tries to assure her that Thomas doesn't have a problem with her.
Joe meets Maso Pescatore (Remo Girone), an Italian gangster who is Albert's rival. He wants Joe to take Albert out, otherwise he will let Albert know about Joe's affair with Emma.
Joe and his partner Dion Bartolo (Chris Messina) pull off a bank robbery. They are immediately pursued by cops as Joe cannot get the hang of the getaway car, crashing into a civilian car before speeding away. Dion and their other partner make it to another car while Joe stays in the first getaway car. The cops pursue both cars, leading to a chase down the street that ends up causing the cop cars to crash and burn, along with Joe being ejected from his car. When he comes to, he sees the burning cop car in the river and he flees.
Joe rushes over to a casino to meet with Emma so they can skip town. They hop inside an elevator and kiss passionately before Emma regretfully reveals it was a trap. One of Albert's large thugs pulls Joe out and starts beating him mercilessly, even kicking Joe in the groin hard enough to make him puke. He is pulled outside where Albert and his goons plan to kill him, but Thomas and his squad arrive, forcing Albert and his men to leave. The cops then arrest Joe.
Chief Inspector Calvin Bondurant (Clark Gregg) wants to put Joe in prison for life for the death of the officers, but Thomas blackmails him into giving Joe only three years. Two weeks before Joe is set to be released, Thomas passes away. Joe attends his funeral.
With nothing and nobody left for him, Joe goes to Maso and asks for work in getting revenge against Albert. Maso has Joe relocate to Ybor City in Tampa, Florida to be the strongman for Maso's rum business. Joe reunites with Dion and heads down to Ybor to start working. They meet a Cuban businessman named Esteban Suarez (Miguel) to help them out. Joe becomes smitten with Esteban's sister Graciella (Zoe Saldana).
Joe and Dion kill Albert's men in Tampa as they horn in on the rum business, much to the gangster's rage. Joe later meets with Chief Irving Figgis (Chris Cooper) to help set up a gambling hotel in collaboration with the Ritz after Maso has asked Joe to get in on the gambling business. The men also meet Irving's daughter Loretta (Elle Fanning), who is heading off to Hollywood with ambitions of becoming an actress.
Joe's clubs and businesses are attracting a lot of business, and he is personally attracting the attention of Graciella. Although she tells him they will not be lovers, they quickly head into a room to make love.
One evening, one of Joe's clubs is disturbed by the KKK putting up a burning cross outside. One of the Klan's member, RD Pruitt (Matthew Maher), terrorizes and robs from the establishments. He also happens to be Irving's brother-in-law. Joe has Irving arrange a meeting with RD. Despite RD being a dimwitted bigot, Joe calmly attempts to negotiate a 15% cut in order for RD to stop harassing people and killing business. RD agrees.
Despite the deal, RD starts going around killing Joe's customers out of his racist agenda. Joe and Dion go to meet with the Grand Wizard of the KKK, Gary L. Smith (Anthony Michael Hall), who runs an establishment of his own. Gary informs the men that many Klan members work in the community, including police officers. Since Gary has less power than any of them, Dion shoots Gary dead in front of a bunch of his employees.
Joe goes to Irving's house. Irving states that there were 70 witnesses to the murder but nobody is stepping forward to testify. He tells Joe about how Loretta has turned to drugs and prostitution in Hollywood. Joe wants Irving to take care of RD, but Irving can't bring himself to give RD up. He tells Joe to be man enough to kill RD himself.
Joe meets with RD outside the Ritz, which is under construction. RD brings two of his goons outside with guns. RD declares he won't stop what he's doing, and he threatens to kill Graciella to Joe's face. Joe takes out his gun and shoots RD dead while Dion and a couple other guys come out of hiding and kill RD's guys. Joe gets shot in the side as a result but he survives. Soon, Joe and his men start fighting back against the Klan, causing them to retreat from Tampa.
Loretta returns home and suffers abusive punishment from her father. She begins preaching to the masses in a tent about repenting and making herself an example of the result of sinful living. Because of this, Joe is unable to receive government funding for the Ritz sine Loretta's sermons have put people off from gambling and drugs. This also causes Maso and his gang to distance themselves from Joe and his business.
Joe encounters Loretta in a restaurant by herself. She expresses her true feelings over God and her sins, and how she thinks Heaven is already here on Earth. Joe then asks why it feels like Hell. Loretta responds, "Because we fucked up."
Dion approaches Joe the next day with a newspaper reporting on Loretta's death, as she slit her throat in her father's bed the previous night. Joe is visibly distraught by the news.
Joe visits Esteban and sees a picture he took in a casino, and he sees Emma in the picture after believing her to be dead. Knowing she is in Miami, he decides to go looking for her. He discloses this with Graciella first.
Maso and his gang are in Tampa. Joe meets with him in his home, and Maso wants to get rid of Joe despite the expansion of his business, but mainly because of his failure with the gambling venture and for not killing Loretta for bringing it down. He gives Joe the option of working under his son Digger (Max Casella) or to "clean the shit out of his toilet". Joe says he will work under Digger. To Joe's surprise, he learns that Maso is now working with Albert, who is there with a Tommy gun to kill Joe. Joe pulls out the picture of Emma, and he finds out that even Albert didn't know she was still alive. Soon, Joe's men start coming in from the tunnels, which Maso figures out is how they have been getting rum and drugs through. Joe's men start killing Maso's men while Joe fights Albert. Dion and a few other guys go in with their guns and shoot Maso's guys and throw them over the staircase. Joe kills Albert by shooting him through the wall. He waits for Maso as he goes to fix himself a drink. After telling Maso that Digger is dead, Joe shoots Maso in the chest, killing him. Afterwards, Joe hands his business over to Dion, who takes the men under his wing. Joe's voiceover states that Dion ran the business for eight years and did not live to see old age as he had predicted.
Joe finds Emma working outside a brothel. She explains how she faked her death by having her driver run their car into the river, and she took refuge with a fisherman. Emma says she loves the feeling of being free. Joe asks if she ever loved him the way he loved her. She makes it clear that she didn't feel the same way. Joe leaves her for good.
Joe and Graciella move to Miami and start their own business building houses for the poor. They have a son,Tomas (Gabriel L. Silva), named after Joe's father.
One afternoon, Irving, who has now gone mad after Loretta's death, goes over to the Coughlin house and starts shooting while yelling "Repent! Repent!" Graciella rushes to protect Tomas as Joe goes outside and shoots Irving dead. Unfortunately, Graciella was shot and killed. Joe cries over her body. She is later buried in her native home of Cuba.
Joe continues to do right by his son. He takes him to the movies and sees that his brother wrote the film. Joe's voiceover states that Tomas wants to grow up to be a police officer. He talks about wanting to see his mother in Heaven. Joe says he tells his son what Loretta told him - Heaven is already there on Earth.
*CUT TO THE CHASE*
Brought to you by
Joe Coughlin is a WWI veteran who falls into a life of crime after falling in love with Emma Gould, mistress of gangster Albert White. After being betrayed by Emma, Joe is sent to jail for 3 years after a bank robbery he was involved in causes the deaths of 3 officers.
Upon his release, Joe works with Italian gangster Maso Pescatore to get revenge on Albert. Joe moves to Tampa with his partner Dion Bartolo to set up a rum business. Once that succeeds, he starts going for a gambling and drug business. Joe falls in love with Graciella Suarez and battles the KKK when they try to take down his business.
The gambling business fails when the police chief's daughter Loretta starts preaching against sinful desires. Joe is then forced to go up against the two gangsters that got him into the criminal life, leading to him and his men to kill Albert and Maso.
Joe's life goes back to normal, but Graciella is killed by the chief after going insane from Loretta committing suicide. Joe kills the chief and buries his wife in Cuba. He promises to do right by their son from then on.
Thanks for reading the spoiler.
Please share it with your friends...
You can send in your spoiler to other movies by going here.