The film opens with three men driving in their car late at night on a highway. In the car are Henry Hill (Ray Liotta), Jimmy Conway (Robert DeNiro) and Tommy DeVito (Joe Pesci). Jimmy and Tommy are asleep when Henry hears a loud thumping noise. Trying to figure out the source of the sound, Henry suddenly realizes they need to stop and check the trunk. When they open it, we see a beaten man wrapped in several bloody tablecloths. An enraged Tommy stabs the man several times with a kitchen knife and Jimmy shoots him four times with a revolver. Henry slams the trunk lid shut and we hear a voiceover (Henry) say "As far back as I can remember, I always wanted to be a gangster."
We now go back several decades, to see the events that will lead up to this scene.
In the 1950s, young Henry Hill idolizes the Lucchese crime family gangsters in his blue-collar, predominantly Italian neighborhood in East New York, Brooklyn, and in 1955 quits school and goes to work for them. The local mob capo, Paulie Cicero (Paul Sorvino) (based on the actual Lucchese mobster Paul Vario) and Cicero's close associate Jimmy Conway (De Niro) (based on Jimmy Burke) help cultivate Henry's criminal career.
Henry is teamed up with the young Tommy and the two sell cartons of cigarettes, given to them by Jimmy, to employees of a local factory, a crossing guard and some cops. While selling them, two detectives show up and confiscate the money and the load, arresting Henry. Tommy slinks away to tell Tuddy, Paul's brother. Henry goes to court and is given a slap on the wrist. Jimmy gives him a substantial reward for his silence (Jimmy calls it a "graduation gift") and tells him he did well despite "getting pinched": Henry revealed no names to the police and learned the two most important things in their line of work: "Never rat on your friends and always keep your mouth shut." The rest of the gang greets Henry with joyful acceptance.
As adults, Henry and Tommy (Joe Pesci) conspire with Conway to steal much of the billions of dollars of cargo passing through John F. Kennedy International Airport. They help out in a key heist, stealing over half a million dollars from the Air France cargo terminal. The robbery helps Henry gain more of Cicero's trust, to whom Henry gives a sizable cut of the haul. However, because Henry is half-Irish, he knows he can never become a "made man", a full-fledged member of the crime family. Nor can Jimmy Conway, who is also Irish.
Over the years, Henry's friends become increasingly daring and dangerous. Conway loves hijacking trucks, and Tommy has an explosive temper and a psychotic need to prove himself through violence. At one point, he humiliates an innocent and unarmed young waiter "Spider" (Michael Imperioli), asking Spider to dance à la The Oklahoma Kid, then shooting him in the foot. A few nights later, when Spider stands up to an extremely intoxicated Tommy, Tommy (egged on by Jimmy) suddenly draws his gun and shoots Spider in the chest, killing him instantly. Jimmy is angry with Tommy for shooting Spider but Tommy is completely indifferent, callously asking where he can find a shovel to bury the dead man.
Henry also meets and falls in love with Karen (Lorraine Bracco), a no-nonsense young Jewish woman; they go to the Copacabana club two to three times a week (and the site of a famous continuous Steadicam shot). Karen feels uneasy with her boyfriend's career, but is also "turned on" by it. Henry and Karen eventually marry (which involves convincing Karen's parents that Henry is half-Jewish).
In June 1970, Tommy (aided by Jimmy Conway) brutally murders Billy Batts (Frank Vincent), a made man in the competing Gambino crime family, over a simple insult Batts uses on Tommy. The murder is a major offense that could get them all killed by the Gambinos if discovered. After stopping at Tommy's mother's place for a late-night meal (and also to pick up a shovel), Henry, Conway and DeVito bury Batts' corpse in an abandoned field, bringing us back to the car trunk scene from the start of the movie. When they discover six months later that the land has been sold, they are forced to exhume, move, and rebury the badly decomposed body.
Henry's marriage deteriorates when Karen finds he has a mistress, Janice Rossi (Gina Mastrogiacomo). Karen confronts a sleeping Henry with a gun as he wakes up. As soon as she lowers the gun, Henry subdues her and screams that he has enough on his mind having to worry about being "whacked on the street" without waking up with a gun in the face. Henry is visited at Janice's apartment by Jimmy and Paul, who tell him that his philandering is bad for business. Paul promises that he'll convince Karen that Henry is worth taking back and that Henry will return to his home in a few days. In the meantime, Henry will go with Jimmy to Florida to find a deadbeat who owes Paulie money.
After beating and dangling the debt-ridden Florida gambler over a lion cage at the Lowry Park Zoo in Tampa, Henry and Jimmy are caught and sent to prison for four years because the guy's sister is a typist for the FBI. There, Henry deals drugs to the other prisoners to keep afloat and to support his family, and, when he returns to them, he has a lucrative drug connection in Pittsburgh. Cicero warns Henry against dealing drugs, since mob bosses can get hefty prison sentences if their men are running drugs behind their back.
Henry ignores Cicero and involves Tommy and Jimmy (as well as Karen and his new mistress, Sandy (Debi Mazar) in an elaborate cocaine smuggling operation. About the same time, December 1978, Jimmy Conway and friends plan and successfully carry out a record $6,000,000 offscreen heist from the Lufthansa cargo terminal at JFK Airport. Soon after the heist, Jimmy grows increasingly paranoid when some of his associates foolishly flaunt their gains in plain sight, possibly drawing police attention, and begins having them murdered. Worse, after promising to welcome Tommy into the Lucchese family as a "made man," the elder members of the family coldly shoot him in the head in retaliation for Billy Batts' death and his reckless behavior. The murder upsets Henry and especially Jimmy, who are both expected to simply accept it and move on.
In an extended, virtuoso sequence titled "Sunday, May 11th, 1980," all of the different paths of Henry's complicated Mafia career collide: he must coordinate a major cocaine shipment; cook a large meal for his family; placate his mistress, who processes the cocaine he sells; cope with his clueless babysitter/drug courier, Lois; avoid federal authorities who, unknown to him, have had him under surveillance for several months; and satisfy his sleazy drug connection customers, all the while a nervous wreck from lack of sleep and snorting too much of his own product.
Lois demands that Henry take her home so she can get her lucky hat, which she won't fly without. Henry and Lois are arrested by the police as he backs out of his driveway. Karen bails her husband out of jail, after destroying all of the cocaine that was hidden in the house and getting her mother to put their house up as collateral for bail money. Henry and his family are left penniless and Henry and Karen break down when Karen admits she destroyed the $60,000 in coke Henry had been planning to ship when he was busted.
After Henry's drug arrest, Cicero and the rest of the mob abandon him. Henry meets a final time with Cicero who chastises him for lying about his drug dealing. Cicero gives him a few thousand dollars and turns his back on him. Karen meets with Jimmy to tell him that Henry has sobered up and also that Henry hasn't been revealing any vital information about Jimmy or his other mob compatriots. Before Karen leaves, Jimmy tells her to take a look at some stolen dresses in one of his shopfronts. Karen becomes scared when she sees two shady-looking workers. Jimmy's message to Karen and Henry is clear: they can be ignominiously eliminated if they talk about their connections.
Convinced that he and his family are marked for death, Henry decides to become an informant for the FBI. He and his family enter the federal Witness Protection Program, disappearing into anonymity to save their lives, but not before he testifies against Paulie and Jimmy in court. He is now an "average nobody" and tells us "I get to live the rest of my life like a schnook." The movie's quick final shot is of Tommy firing a pistol directly into the camera, a tribute to the final shot of The Great Train Robbery.
The film closes with a few title cards (over Sid Vicious's version of "My Way") showing what became of Hill, Paul Cicero (Vario) and Jimmy Conway (Burke). Henry's marriage to Karen ended in separation with her getting custody of their children, and Cicero and Conway will spend practically the rest of their lives in prison. Cicero died in in prison in 1988. Conway's title card explains that he was eligible for parole in 2004, though he died of lung cancer in 1996 while still incarcerated.