His comments came a week after nine Catalan political leaders were pardoned and freed from jail for their part in the northeastern region's failed push for independence in 2017, AFP reported.
"There will be no referendum on self-determination," Sanchez told parliament, saying his Socialist party would "never accept this type of deviation".
He stressed that the only way to hold such a vote would be for supporters to convince three-fifths of the lower house to modify the Spanish Constitution, and for Spain as a whole to ratify this change via a referendum.
This would currently be impossible as the three biggest political groupings in the lower house – the Socialists, conservative Popular Party and far-right Vox – are opposed to such a reform.
Sanchez's comments came just a day after his first official meeting with Catalonia's new regional president Pere Aragones, a moderate separatist.
Aragones said that negotiations between Madrid and the Catalan separatists, who want to hold an independence referendum, would resume in September.
Catalonia's bid to break away from Spain in 2017 provoked one of the worst political crises in Spain since the end of Francisco Franco's military dictatorship in 1975.
The leaders of the rich region in Spain, which has a population of 7.8 million people, defied a government ban to organise an independence referendum.
In response, Madrid's conservative government sent in the police to stop the referendum, and when the region's leaders declared independence a few weeks later, they sacked them and suspended Catalonia's autonomy.
Nine Catalan leaders were jailed for between nine and 13 years.
Sanchez's recent decision to free the jailed Catalan leaders has been fiercely criticised by the conservative opposition.