Linear diffusion is an established model for spatial spread in biological systems, including movement of cell populations. However, for interacting, closely packed cell populations, simple diffusion is inappropriate, because different cell populations will not move through one another: rather, a cell will stop moving when it encounters another cell. In this paper, I introduce a nonlinear diffusion term that reflects this phenomenon, known as contact inhibition of migration. I study this term in the context of two competing cell populations, one of which has a proliferative advantage over the other; this is motivated by the very early stages of solid tumour growth. I focus in particular on travelling–wave solutions, corresponding to moving interfaces between the two cell populations. Numerical simulations indicate that there are wavefront solutions for wave speeds above a critical minimum value, and I present linear analysis that explains the selection of wave speeds by initial conditions. I obtain an approximation to the shape of these waves for high speeds, and show that the minimum speed arises via quite new behaviour in the travelling–wave equations, with the proportion of cells of each type approaching a step function as the wave speed decreases towards the minimum. Exploiting this structure, I use singular perturbation theory to investigate the wave shape for speeds close to the minimum.