This paper investigates the effects of the introduction of a nationwide minimum wage in Thailand on earnings and sorting. Using Thai matched employer-employee data, we show that there is a great degree of mobility differential among workers with similar wages. In our analysis, we include both employed and unemployed workers and estimate their latent types using a semi-parametric model of wages and employment mobility. Using identification designs exploiting variations in exposure across workers’ wage-mobility latent types, we find that the minimum wage raised earnings considerably for some low paid workers. However, real poor workers who have low pay and low job stability are only slightly better off – this fact would have been missed, had one measured the minimum wage effects along the wage distribution without taking mobility heterogeneity into account. Consistent with the literature, we find no disemployment effect on workers who were employed before the policy took place. Sorting among new employment matches after the policy became less positive and this is true across all age groups. We then use our two-sided heterogeneity model to perform simulations to decompose (i) the observed reduced sorting into changes in employment-unemployment, unemployment-employment and job-to-job transitions across different worker and firm types, and (ii) the sources of gains on earnings into initial wage, wage growth and allocation effects. We find that the declined sorting is primarily driven by low-paid workers reallocating to high-paid firms. The sources of earnings gains vary by worker types with some types experiencing a tradeoff between initial and later wage rises.