The great majority of empirical studies on internal migration across Italian regions either ignores the long-run perspective of the phenomenon or do not consider push and pull factors separately. In addition, Centre-North to South flows, intra-South and intra-Centre-North migration have not been studied. We aim to fill this gap and tackle interregional migration flows from different geographical perspectives. We apply four panel data estimators with different statistical assumptions and show that long-run migration flows from the Mezzogiorno towards Centre-Northern regions are well explained by a gravity model in which per capita GDP, unemployment and population play a major role. On the contrary, migration flows from Centre-North to South has probably much to do with other social and demographic factors. Finally, intra Centre-North and intra South migration flows roughly obey to the gravity model, though not all explicative variables are relevant.