I exploit a natural experiment in India to identify how mixing rich and poor students in schools affects social preferences and behaviors. A policy change in 2007 forced many private schools in Delhi to meet a quota of poor children in admissions. This led to a sharp increase in the presence of poor children in new cohorts in those schools, but not in older cohorts or in other schools. Exploiting this variation, and using a combination of field and lab experiments, administrative data and test scores, I study impacts on three classes of outcomes: (i) prosocial behavior, (ii) social interactions and discrimination, and (iii) academic outcomes. First, I find that having poor classmates makes wealthy students more prosocial and generous. They become more likely to volunteer for a charity at school, more generous towards both rich and poor students in dictator games, and choose more equitable distributions of payoffs in the lab. Second, having poor classmates makes wealthy students discriminate less against poor children, measured by their teammate choice in an incentivized sports contest. Consistent with this, they become more willing to socialize with poor children outside school. Third, I find marginally significant negative effects on test scores in English, but no effect on Hindi or Math. Overall, I conclude that mixing in schools had substantial positive effects on the social behaviors of wealthy students, at the cost of negative but arguably modest impacts on academic achievement. To shed light on mechanisms, I exploit idiosyncratic assignment of students to study groups and find that the effects on social behaviors are largely driven by personal interactions between wealthy and poor students, rather than by changes in teacher behavior or curriculum.