Understanding the proximate and ultimate sources of human cooperation is a fundamental issue in all behavioural sciences. In this paper, we review the experimental evidence on how people solve cooperation problems. Existing studies show without doubt that direct and indirect reciprocity are important determinants of successful cooperation. We also discuss the insights from a large literature on the role of peer punishment in sustaining cooperation. The experiments demonstrate that many people are 'strong reciprocators' who are willing to cooperate and punish others even if there are no gains from future cooperation or any other reputational gains. We document this in new one-shot experiments, which we conducted in four cities in Russia and Switzerland. Our cross-cultural approach allows us furthermore to investigate how the cultural background influences strong reciprocity. Our results show that culture has a strong influence on positive and in especially strong negative reciprocity. In particular, we find large cross-cultural differences in 'antisocial punishment' of pro-social cooperators. Further cross-cultural research and experiments involving different socio-demographic groups document that the antisocial punishment is much more widespread than previously assumed. Understanding antisocial punishment is an important task for future research because antisocial punishment is a strong inhibitor of cooperation.