Cameron Diaz wore a luscious black Lanvin to the Spain premiere of Knight and Day.