After a hit that has him questioning the target he was given and whether it was a political hit rather than his usual assignments of taking out people who commit evil, elite assassin Henry Brogan (Will Smith) decides it's time to retire. The problem is, his final hit was purely political and when Henry starts asking questions and discovering the truth, the higher ups decide they need to put a stop to him.
Meanwhile, Henry realizes his interactions with a young woman named Danny (Mary Elizabeth Winstead) have put a target on her as well, so he convinces her to go on the run with him. They get help from Henry's wealthy and powerful friend Baron (Benedict Wong), but when they discover a younger version of Henry was cloned years earlier as a way to defeat him if the need ever arose, their quest to survive becomes all the more difficult. Henry has a hard time convincing his clone, named Junior (Will Smith), to join him, which results in the two battling it out. Henry must do whatever he can to save himself and his friends from his younger self.