The match was scheduled for 26 October but there have been days of protest in Barcelona after nine Catalan separatist leaders were jailed on Monday.
Both Barcelona and Real Madrid disagreed with calls to switch the game to Madrid.
The clubs have proposed Wednesday, 18 December as a new date.
Manager Ernesto Valverde had said Barcelona were against switching the game to Madrid as they visit Slavia Prague in the Champions League on 23 October, three days before El Clasico had been scheduled.
And on Friday the club issued a statement saying their “desire” was to play the match as originally scheduled because they had the “utmost confidence” in the fans who they say “always express themselves in exemplary fashion” at the ground.
Real Madrid boss Zinedine Zidane was asked about the postponement in a news conference on Friday and said “we will be ready to play on the date told by the right person”.
“We will adapt to what we are asked,” he added
La Liga made the postponement request because of “exceptional circumstances beyond our control” as more protests are expected in Barcelona on the day of the match.
Protests have continued into a fifth day in Spain’s Catalonia region with protesters clashing with riot police.
Hundreds of thousands of people waving pro-independence flags and chanting “freedom for political prisoners” took part in marches across Catalonia on Friday.
At least 96 people have been hurt across the region.
Catalonia is a semi-autonomous region in north-east Spain and in a referendum on 1 October 2017, declared illegal by Spain’s Constitutional Court, about 90% of Catalan votes cast backed independence. Turnout was 43%.
The nine separatist leaders were convicted of sedition over their role in the referendum and handed jail sentences of between nine and 13 years by Spain’s Supreme Court.Bel, student, 20: ‘We are living demonstrations’