Jack Mosley (Bruce Willis) is an alcoholic, burned-out N.Y.P.D. detective. Despite a late shift the night before, his lieutenant orders him to escort a witness, Eddie Bunker (Mos Def), from local custody to the courthouse 16 blocks away to testify on a police corruption case before a grand jury at 10 a.m. Bunker, a taxi driver, tries to be friendly with Mosley, telling him of his aspirations to move to Seattle to become a cake baker with his sister whom he has never met, but Mosley is uninterested, and stops at a liquor store. They are suddenly ambushed by a gunman, and Mosley drags Bunker to a local bar to take shelter and call for backup. Mosley's former partner, Frank Nugent (David Morse), and several other officers arrive. Nugent and his men have ulterior motives, telling Mosley that Bunker is not worth defending as his testimony will likely out several officers, including Nugent, who are involved in the corruption scheme, and they try to frame Bunker for firing at an officer before they kill him. Mosley intervenes, rescuing Bunker and fleeing.
Mosley briefly stops at his sister Diane (Jenna Stern)'s apartment to retrieve guns and ammo, and learns the police have already approached her about his activities today. He and Bunker take steps to further elude the police, and Mosley is wounded in the process. They become cornered in a run-down apartment building as Nugent and his men search floor by floor. Mosley calls the district attorney to arrange for help, but purposely gives the wrong apartment number, suspecting there is a mole involved. Mosley and Bunker are able to escape onto a passenger bus, and as the police follow them, Mosley is forced to treat the passengers as hostages. The bus crashes into a construction site and is soon surrounded by the ESU. Aware that Nugent will likely order the ESU to raid the bus, risking the safety of the passengers, Mosley allows the passengers to go free, using their cover to allow Bunker to sneak off the bus in the confusion. Mosley finds a tape recorder in the discarded possessions on the bus, and prepares a farewell message to Diane.
To his surprise, Bunker returns to the bus; while Nugent is ready to fire on him, Nugent is made to stand down by a superior officer. Bunker has come to see Mosley as his friend and wants to be there for him to see this through. Bunker's tenacity convinces Mosley to get to the courthouse, and he manages to drive the bus into an alley, temporarily blocking the police from following them. He finds that Bunker has been wounded, and calls Diane, a Paramedic, to bring an ambulance around to help, despite knowing she will be followed. Diane cares for Mosley and Bunker's wounds, though Bunker still needs further treatment at a hospital. As Diane's ambulance drives away, the police stop her but discover the ambulance is empty; she had a second ambulance pick up Mosley and Bunker that would not be under similar surveillance. Mosley gets off a block from the courthouse and wishes Bunker luck with his bakery. Bunker promises to send him a cake on his birthday.
Mosley enters the courthouse through the underground garage, encountering Nugent alone. Nugent reveals that should Bunker testify, not only will Nugent be convicted but so would Mosley as one of the corrupt cops. Mosley ignores this and continues to the courthouse, where the police and ESU are waiting for him, as well as the district attorney. One of Nugent's men (David Zayas) tries to shoot Mosley but he is killed by one of the ESU snipers. Mosley reveals that he will be testifying in Bunker's place, revealing that he had recorded the conversation with Nugent in the garage on the tape recorder and submits it as evidence.
Two years later, Mosley is freed from prison from his reduced sentence, while Nugent and others wait out longer sentences. He celebrates his birthday with Diane and other friends, and is surprised to find that the cake had indeed come from Bunker, who has been successful in starting "Eddie & Jack's Good Sign Bakery" in Seattle.