The film begins in Detroit in 1995 with Jimmy "Rabbit" Smith (Eminem), a young and unhappy blue-collar worker from a poor family, struggling with different aspects of his life. He has moved back north of 8 Mile Road to the rundown trailer home in Warren, Michigan of his alcoholic mother, Stephanie (Kim Basinger), his little sister Lily (Chloe Greenfield), and Stephanie's abusive live-in boyfriend Greg (Michael Shannon). Jimmy is focused on getting his music career started, but he seems unable to catch a break after being booed off by the audience for choking. Just prior to the events of the film, he ends a relationship with his girlfriend, Janeane (Taryn Manning), and during the film, begins a new relationship with Alex (Brittany Murphy), whom he meets at the factory when she shows up one day looking for her brother.
Jimmy comes to realize that his life has remained largely the same since he graduated high school. At first, he considers himself a victim of his circumstances and blames others for his problems. Over time, though, Jimmy begins to take more responsibility for the direction of his life.
He appears to decide to take his day job more seriously, and this becomes evident to his supervisor at the factory. At the beginning of the film, when Jimmy requests extra shifts, his supervisor laughs at him (because of his tendency to be late to work), but by the end, Jimmy's improved attitude and performance earn him the extra work he had originally asked for.
His relationship with Alex ends when Jimmy walks in on his friend Wink (Eugene Byrd) having sex with her. Jimmy beats up Wink, which later causes Wink to officially join forces with Jimmy's enemies, a gang of rappers known as the Leaders of the Free World. Later, Wink and the Free World gang jump him outside of his mother's trailer, but when one member pulls a gun on Jimmy, Wink stops him and they leave.
Jimmy's friends have hailed him throughout the film as an incredible rapper, and his friend Future (Mekhi Phifer) puts pressure on Jimmy to get his revenge by competing against the Leaders of the Free World at the next rap battle. However, Jimmy's late-night shift conflicts with the next battle tournament. But a visit from Alex changes his mind about competing. Paul, a co-worker who Jimmy stood up for earlier in the film, agrees to cover for him and he participates in the battle.
The battle acts as kind of a "final conflict" with the Leaders of the Free World gang who have harassed Jimmy throughout the film. It has three rounds, and in each of them Jimmy faces a member of the gang. Jimmy wins both of the first two rounds with progressively more impressive freestyle raps. In the last round, he is paired against Papa Doc (Anthony Mackie), the tournament's most feared battler and Jimmy's main antagonist throughout the film. Jimmy is aware that Doc knows all his weak points, so he decides to address them preemptively with his freestyle. Jimmy acknowledges without shame his lower-class white trash roots and the various humiliations the Free World gang have inflicted on him, and then uses the difficult life he has had as a springboard to reveal the truth about Papa Doc: Doc, whose real name is Clarence, despite passing himself off as a thug, has a privileged background, having attended Cranbrook, a private high school in upper-class suburb Bloomfield Hills, and growing up in a stable two-parent household.
With nothing to say in rebuttal, Papa Doc hands the microphone back to Future and Jimmy wins the battle. Upon celebrating his victory, Jimmy and Alex embrace each other with the finger one last time. As Jimmy leaves the venue, Future suggests that he stay and celebrate his victory while also offering a position that would allow him to host battles at The Shelter. Jimmy turns him down, claiming he has to get back to work and to find success his own way. He then starts walking back to work, feeling more confident about his future.