In the opening scene, Agent Eric Olsen (Lonnie Farmer) is interrogating Kevin Weeks (Jesse Plemons). Olsen asks Kevin to tell him everything he knows about his involvement with the Winter Hill Gang of South Boston, the business dealings of former FBI Agent John Connolly (Joel Edgerton), and anything Kevin can say about his former boss/fugitive James "Whitey" Bulger (Johnny Depp).
Flashback to Boston, 1975.
Kevin is seen working as a bouncer outside a bar that Whitey (known to his friends and family as Jimmy) frequents with the other members of his gang - John Martorano (W. Earl Brown), Steve Flemmi (Rory Cochrane), and Tommy King (Scott Anderson). Whitey is introduced as criticizing Martorano for putting his fingers in his mouth after repeatedly taking from a bowl of nuts. Whitey is called outside when Kevin is fighting a man who turns out to be Whitey's cousin.
The next day, Whitey makes Kevin drive him and another man, part of the Angiulo crime family, out by a beach where Whitey and Kevin both start to brutally beat the man up and leave him for dead. Later, Whitey goes back into town and greets an old woman who asks him about his stint in Alcatraz. Kevin tells Olsen that Whitey was well-liked in his part of town.
Whitey goes home to his mother (Mary Klug), where they play Gin Rummy so he can pay her back some money. They are later joined for dinner by Whitey's brother Billy (Benedict Cumberbatch), who is the state senator.
John Connolly, whom Whitey and Billy knew as kids, returns to Boston and has made a name for himself with the FBI. John meets Billy for lunch to try and get closer to Whitey, but Billy won't tell him anything.
John later meets with Whitey at night. He proposes an idea for Whitey to be his informant to take down other mobs, specifically the Angiulos. Whitey doesn't like the idea of being a snitch for the FBI, but John persuades him on the grounds that Whitey can help take down those that, in Whitey's opinion, deserve to get screwed over.
The Angiulos murder a Winter Hill Gang member, leading Whitey to go ahead and agree to be an informant. He confides in Steve over his actions, which surprises Steve.
John discusses his plans to his boss Charles McGuire (Kevin Bacon) and fellow Agent Robert Fitzpatrick (Adam Scott). McGuire doubts John's success in taking down the criminals they're after, but John has some support from another co-worker, John Morris (David Harbour).
While driving, Whitey and his boys run into a cop who says the Angiulos are trying to send the Winter Hill Gang a message. Tommy becomes abrasive and swears at the cop, but Steve and Martorano hold him back. The gang goes to the bar where Tommy is still fuming over his encounter with the cop, to which Whitey says Tommy wouldn't have done anything. Tommy gets up and tries to pick a fight with Whitey. He responds by getting up calmly and telling Tommy to take a shot and make it a good one. Tommy cools down and takes his seat.
Whitey visits his girlfriend Lindsey Cyr (Dakota Johnson) and their son Douglas (Luke Ryan). During dinner, Lindsey brings up that Douglas got in trouble at school for hitting another kid. Whitey is proud of the boy, but says that he got in trouble because he struck the other kid while people were looking. Therefore, Douglas realizes it's totally okay to hit people when no one else is looking.
John pleads with Whitey to not kill or commit any major crimes as long as he is an informant. However, Whitey disregards this when he brings Tommy out by the bridge and has Steve execute him with a shot to the back of the head, despite Whitey appearing to forgive Tommy for his outburst. They bury his body under the bridge, which Kevin mentions to Olsen as being referred to as the "Bulger Burial Ground" for the number of bodies Whitey and his boys have put under there.
Whitey goes to visit Lindsey and Douglas, only to learn that the boy is sick. It gets worse later when Whitey joins Lindsey at the hospital. She tells him that Douglas started getting very angry and just fell into a motionless state due to Reye syndrome, leaving him on life support. Realizing he will be brain dead and with no hope left for the boy, Lindsey opts to pull the plug herself. Whitey criticizes her and calls her a murderer, to which Lindsey points out the hypocrisy in that statement. She leaves in tears while Whitey has an outburst and flips a table over.
Flashing forward to 1981.
By now, Whitey has taken over the Winter Hill Gang, but hasn't brought John back any results regarding the Angiulos. He has also separated from Lindsey after Douglas passes away. He's also got other people on his side, including unstable coke fiend Brian Halloran (Peter Sarsgaard). Brian is first seen coked up at a restaurant where he murders two of his drug dealers in front of everyone before walking out.
A breakthrough comes when Whitey is able to deliver John pictures of the Angiulos meeting in local areas. This gives John and his buddies to opportunity to wiretap them and overhear the Angiulos talk about their dealings, including bringing in a lot of drugs. Subsequently, the Angiulos are busted, John becomes a hero at work, and Whitey has less competition to worry about. John becomes closer to Whitey and his boys, which upsets John's wife Marianne (Julianne Nicholson).
Whitey gets cut out of an embezzlement scheme for World Jai Alai. He gets Martorano to find the owner of World Jai Alai, Roger Wheeler (David De Beck) and murder him in his car after his weekly golf game. Also killed is their former contact for the scheme, John Callahan (Bill Camp), whom Martorano kills in his car and stuffs in the trunk.
Whitey pays off Brian to keep his mouth shut. However, when Brian gets really coked up, he goes to the feds and spills the beans before John and Morris. They dismiss his confession as a bad coke episode. John later finds Whitey at the St. Patrick's Day parade and asks him if he killed Roger Wheeler. Whitey doesn't say a word, yet he knows what led to this question.
Brian gets into a car with a friend, only for a bullet to his the other man. Brian tries to drive away frantically when he sees Whitey emerge with a rifle aimed at him. He shoots the car as Brian stumbles out, getting him shot in the leg. As Brian cries in pain, Whitey grabs a smaller gun and shoots him three times before he's dead. Onlookers see the dead bodies and scream as Whitey walks away.
Later on, Whitey and Steve pick up Steve's prostitute stepdaughter Deborah (Juno Temple) from the police station. After Whitey asks her if she said anything to the cops, she affirms that she denied anything that could have hurt Whitey. Seemingly trusting her, Whitey takes her to an apartment building where he strangles her to death in front of Steve.
A new district attorney, Fred Wyshak (Corey Stoll), moves into the Boston FBI HQ. John tries to befriend him with two tickets to the Red Sox game, but Wyshak refuses them. He is more interested in learning how Whitey has managed to evade police capture over the years.
Whitey faces another problem when his mother passes away. He stands on the balcony at the funeral, away from Billy and his family. Now, the only thing that appears to put his mind at ease is his weapons dealings with the IRA.
Whitey has dinner with John, Steve, and Morris at John's home. Whitey compliments the steak that Morris made and asks what he marinated it in. Morris says it's a family secret, but Whitey playfully presses him to tell. Morris finally admits it's ground garlic and soy. Whitey then states how easily Morris gave that up despite saying it was a family secret, and if he could spill that so easily, then he figures Morris can say anything else about Whitey. Whitey's demeanor visibly terrifies Morris until Whitey breaks into laughter and plays it off as a joke. He then asks John why Marianne hasn't joined them, to which John says because Marianne doesn't feel good. Whitey goes up to her room to talk to her, chastising her for not joining her husband's friends and putting his hands on her menacingly and also frightening her. This contributes to her later changing the locks on John.
John McIntyre (Brad Carter), an informant in the Winter Hill Gang, rats Whitey out over his business with the IRA, leading the gang to beat and murder him.
Things start to go downhill for the gang when Wyshak and McGuire really dig into John's business with Whitey. The final nail in the coffin is when Morris confesses to what he knows about Whitey and John's relationship, in exchange for immunity.
Martorano, Steve, and Kevin are all arrested, and later on, so is John. He asks the feds to let him leave his house with dignity, but they don't let him When asked by Olsen how his opinion on Whitey has changed since his arrest, Steve says his opinion of Whitey is "strictly criminal".
Billy sits in his living room looking somber, most likely already hearing about his brother. Whitey calls Billy from a payphone and says he'll be going away for a while, and he gives him one last goodbye. With that, Whitey would go on the run.
The ending text states that Kevin Weeks and John Martorano served their time and that they walk the streets of Boston today as free men. Stephen Flemmi pleaded guilty to 10 murders and is serving a life sentence. Billy Bulger left the state senate and would become president of the University of Massachusetts, but he was forced to resign after it was found out he kept in touch with his brother. John Connolly was convicted in the second-degree murder of John Callahan and was sentenced to 40 years in state prison.
The final scene shows an older Whitey in 2011 when, after a tip-off to his whereabouts, he is promptly arrested outside a hotel after 16 years on the run. The real Whitey Bulger received two life sentences, plus five years for his other crimes.