In the year 2074, time travel exists. Three decades prior, it's the job of assassin Joe (Joseph Gordon-Levitt) to dispose of mob targets who've been tied up and sent back 30 years to face the barrel of his gun.
It's usually an easy payday for the unwavering hitman, until he recognises his next victim as an older version of himself (Bruce Willis). From the moment young Joe flinches and lets his future self escape, his organised life is thrown into turmoil as he attempts to distinguish the good from the evil around him.