Vincent Downs (Jamie Foxx) is an Internal Affairs officer who has been investigating the Novak criminal family for the last two years. After he and his partner steal 25 kilos of cocaine from Rob Novak's goons, Vincent's son Thomas (Octavius J. Johnson) is kidnapped as collateral until the drugs are returned.
Vincent brings the drugs to the casino owned by Stanley Rubino (Dermot Mulroney) - one of Novak's partners - but they are intercepted by Detective Jennifer Bryant (Michelle Monaghan).
Vincent fights all the thugs and eventually kills Novak (Scoot McNairy) and rescues Thomas. Jennifer's partner Dennison was in cahoots with Novak and is arrested after he kills Rubino and tries to kill Jennifer.