After Bats (Jamie Foxx), Buddy (John Hamm) and Darling (Eiza Gonzalez) rob the post office, Baby (Ansel Elgort) deliberately drives the getaway car into the back of a parked truck full of construction supplies. A bundle of rebar that is overhanging the back of the truck pierces the passenger side of the front windshield, killing Bats. In the ensuing gunfight with the Atlanta police, Darling is killed.
Buddy tracks Baby back to Deborah's (Lily James) restaurant. Baby shoots Buddy and then both Deborah and Baby flee to Doc (Kevin Spacey) for help. Doc admits that he was once in love and gives Baby some money. When the elevator doors to the parking garage open, three of the corrupt cops from the aborted weapons sale that Bats shot up are waiting. The cops wound Doc before Baby and Doc can kill them.
Then, a rather perturbed Buddy arrives and runs over Doc with a stolen police car. A subsequent car chase through the parking structure ends with Baby pushing the police car out of a high level to the street below. When Baby gets out of the car to see if Buddy is dead, Buddy discharges his gun next to each of Baby's ears, deafening him.
Deborah hits Buddy with a tire iron and Baby kneecaps him. Buddy falls to his death on top of the burning cop car which explodes after Buddy lands on it.
Baby surrenders to the police at a roadblock as he and Deborah attempt to fulfill the fantasy of driving west. Baby is sentenced to 25 years with the possibility of parole in five because Deborah and some of the civilians he was nice to during the three heists testify as character witnesses. After 5 years, Baby is released and Deborah is waiting for him outside the prison in front of a classic car.