We assess the role of internal migration and urbanisation in China on the nominal earnings of three groups of workers (rural migrants, low-skilled natives, and high-skilled natives). We estimate the impact of many city and city-industry characteristics that shape agglomeration economies, as well as migrant and human capital externalities and substitution effects. We also account for spatial sorting and reverse causality. Location matters for individual earnings, but urban gains are unequally distributed. High-skilled natives enjoy large gains from agglomeration and migrants at the city level. Both conclusions also hold, to a lesser extent, for low-skilled natives, who are only marginally negatively affected by migrants within their industry. By contrast, rural migrants slightly lose from migrants within their industry while otherwise gaining from migration and agglomeration, although less than natives. The different returns from migration and urbanisation are responsible for a large share of wage disparities in China.