By constructing a two-country, three-commodity, three-sector theoretical model, we show that trade liberalisation has double effects, i.e., ‘factor price effect’ and ‘technology progress effect’, on labour income share. China’s deviation from the Stolper–Samuelson Theorem is mainly due to the negative effect of technology progress, which weakens the positive pulling effect of trade liberalisation on labour income share. Based on the panel data of 29 provinces and cities in China dated from 1987 to 2006, we build up an empirical model. We find that because of the offsetting cancellation of opposite effects, the overall effect of trade liberalisation on labour income share is insignificant. However, when eliminating the negative effect of technology progress on labour income share, the effect of trade liberalisation becomes significantly positive. Moreover, the positive effect of trade liberalisation has become smaller in recent years. This is because of the transformation of export structure, which has led to a decrease in the positive effect of export on labour income share.