This paper measures linkages between farm and non-farm activities in rural Mexico using a multiplier model based on social accounting matrices (SAMs) from survey data for five villages at differing income levels and in different agro-ecological and market zones. We extend this analysis to a "mini-region" that includes three villages and their larger administrative center. By applying a constrained SAM multiplier model, the paper examines how economic shocks in rural areas affect non-farm incomes in rural villages, in neighboring rural towns and in larger regional cities. Two exogenous shocks on non-farm activity are examined: pure income transfers; and increased agricultural productivity. Experiments assume a perfectly inelastic supply of agricultural goods, as in "semi inputoutput" and "economic base" models. Results show that most farm-nonfarm diversification is between villages and regional urban centers. The largest linkages are with markets outside, rather than within, villages: an experimental $100 increase in exogenous income is linked with a $2 increase in non-farm production but a $51 increase in demand for imported goods. This is evidence of "agriculture-demand-ledindustrialization" and explains growth of regional urban centers, which now accounts for most of Mexico's urban growth. Our analysis highlights the complex economic interactions between villages and towns in what probably is a mutually beneficial relationship broadly consistent with comparative advantage. Results suggest that increasing the income of village households can stimulate growth of the rural non-farm commercial activity in towns and small cities. Comparisons across villages suggest that investments in rural infrastructure can facilitate these commercial linkages between villages and towns.