China has experienced the spatial diffusion of covid-19 from Wuhan since December 2019. This research examines the relationship between the geographical, social and economic factors and the number of covid-19 cases on 26 January, 7 February, 20 February and 6 March 2020 in mainland China. Both correlation and regression analyses show that the migrants who moved into Hubei in 2005-2010 is a good indicator of the population flow from Hubei to other provinces that caused the spread of covid-19 in early 2020. Many migrants travelled back to hometown just before the traffic ban of Wuhan city for the spring holiday. Thus the migration flow from a province to Hubei in the period 2005-2010 had the highest correlation coefficient with the number of covid-19 cases in four selected dates. The population flow data from the Baidu map on 20 January 2020 were also highly correlated with the number of cases, but not as good as above migration data. The regression equation for the number of cases on 26 January 2020 had the highest adj R2 as it was mainly determined by the population flow from Hubei. The numbers of cases in subsequent days were also affected by the local diffusion and the control measure in various provinces. Income and economic variables became additional explanatory variables indicating their complicated impacts on the mitigation measures at various provinces in China. The results of this research have important policy implications to respond to the covid-19 pandemic.