We study the co-evolution of social preferences and bounded rationality. In particular, we show that when agents are boundedly rational, altruistic preferences are evolutionarily stable, even in environments that are deemed unfavorable for altruism in the literature. The existing standard result is that when interactions are strategic substitutes and exhibit negative externality, only selfish preferences are evolutionary stable. The key assumption underlying this result is that agents are perfectly rational. Selfish agents are thus able to play the Nash equilibrium, gaining evolutionary advantages over altruists. By relaxing this assumption, we show that altruist preferences can survive among bounded rational agents. The simple intuition is that selfish agents, now with bounded rationality, choose excessive action, which in turn induces altruists to choose an action level closer to the Nash equilibrium an action level evolutionarily stable in the long run. We combine the level-k model of bounded rationality and the standard evolutionary model of altruistic preferences and characterize for the conditions under which altruism can proliferate in the long run.