AbstractMotivationAnecdotal evidence suggests that local non‐farm opportunities slow down rural–urban migration. However, there is hardly any empirical evidence on the relation between household non‐farm income and migration. Understanding this relation is essential for rural development strategies, sustainable urban development, and policies that influence domestic migrations.PurposeWe examine whether households' decision to send a member to urban areas for employment depends on the extent of their non‐farm income and, in turn, on local non‐farm opportunities. We also study how this impact is dependent on household income, education of the household head, and land holdings.Methods and approachHouseholds' decision to migrate or to choose non‐farm employment is endogenous, likely to be influenced by unobserved characteristics. We construct local measures of non‐farm opportunities at the Union (lowest administrative) level using Economic Census data. Local opportunities are exogenous to household decisions and are used to instrument household‐level non‐farm income.FindingsRegression results using instrumental variables show that a greater share of non‐farm income reduces the probability that members of the household will migrate to other districts. This effect is most pronounced for semi‐rural areas such as municipalities. We find similar results when we use areas with small and medium enterprise (SME) clusters to instrument household‐level non‐farm income. We also observe substantial heterogeneity of impact: a higher share of non‐farm income deters migration more for income‐rich, land‐poor and educated households.Policy implicationsOur results suggest that creating non‐farm opportunities curbs migration to urban areas. Developing rural growth centres, secondary towns, may reduce migration to larger cities and reduce poverty.