The problem of moral compliance is the problem of explaining how moral norms are sustained over extented stretches of time despite the existence of selfish evolutionary incentives that favor their violation. There are, broadly speaking, two kinds of solutions that have been offered to the problem of moral compliance, the reciprocity-based account and the punishment-based account. In this paper, I argue that though the reciprocity-based account has been widely endorsed by evolutionary theorists, the account is in fact deeply implausible. I provide three arguments that suggest that moral norms are sustained by punishment, not reciprocity. But in addition to solving the problem of moral compliance, the punishment-based account provides an additional important theoretical dividend. It points the way for how theorists might build an evolutionary account of a feature of human groups that has long fascinated and troubled social scientists and moral philosophers – the existence of moral diversity.