This paper presents a model where intergenerational occupational mobility is the joint outcome of three main determinants: income incentives, equality of opportunity and changes in the composition of occupations. The model rationalizes the use of transition matrices to measure mobility, which allows for the identification of asymmetric mobility patterns and for the formulation of a specific mobility index for each determinant. Italian children born in 1940-1951 had a lower mobility with respect to those born after 1965. The steady mobility for children born after 1965, however, covers a lower structural mobility in favour of upper-middle classes and a higher downward mobility from upper-middle classes. Equality of opportunity was far from the perfection but steady for those born after 1965. Changes in income incentives instead played a major role, leading to a higher downward mobility from upper-middle classes and lower upward mobility from the lower class.