The fixture was set to be Barcelona's first home game since nine pro-Catalan independence leaders were sentenced to imprisonment on Monday.
Madrid: Barcelona and Real Madrid have agreed on a new date of December 18 for the Clasico after Spain's biggest football match was postponed on Friday due to protests in Catalonia.
The fixture was set to be Barcelona's first home game since nine pro-Catalan independence leaders were sentenced to imprisonment on Monday for their role in the illegal referendum in 2017.
Barca and Madrid swiftly came to an agreement, hours after the Spanish Football Federation (RFEF) announced they had until 10:00 am (0800 GMT) on Monday to find a revised date for the game.
All that remains is for the RFEF to confirm the change with La Liga, although the league would prefer the match take place on December 7.
December 7 is a Saturday and has more potential for broadcasters but it would require moving both Barcelona against Real Mallorca and Madrid against Espanyol.
December 18 is a Wednesday and would clash with the Copa del Rey but neither Barca nor Madrid will be involved at that stage of Spain's domestic cup competition.
In a statement on Friday, Barcelona stressed their belief that the original fixture, scheduled for October 26 at Camp Nou, should have gone ahead.
"The club's desire was to play the Clasico at Camp Nou on the 26th, the date and time previously agreed and the Committee was informed of this in writing," read the Barcelona statement.
"The club has the utmost confidence in the peaceful behaviour of its members and fans who always express themselves in exemplary fashion at Camp Nou.
"Nevertheless, having received the decision of the RFEF Competition Committee to postpone the game citing 'exceptional circumstances' and given that it falls to the clubs to agree on a new date for the game before Monday, the club will propose December 18."
- Venue switch ruled out -
Real Madrid later added: "Real Madrid wishes to communicate that the date proposed by both clubs is the 18th of December." Barcelona added the club "regrets the inconvenience" caused to fans and will refund those that had bought tickets for the original fixture.
The imprisonment of pro-independence leaders has sparked violent demonstrations across the city and there were fears protesters would use the match against Madrid to stage further acts of unrest.
Barcelona's football club is regarded as a symbol of Catalanism and had responded on Monday with a statement insisting "prison sentences are not the solution".
La Liga then proposed to the RFEF the venue of the Clasico be changed from Camp Nou to Madrid's Santiago Bernabeu but both clubs opposed the switch.
Instead, it has been decided a change of date is necessary due to what the RFEF described as "exceptional circumstances".
"The RFEF agrees to dismiss the request made by La Liga in relation to reversing the order of the matches played between Barcelona and Real Madrid," an RFEF statement read earlier on Friday.
"FC Barcelona and Real Madrid must agree on the new date of the meeting before October 21.
"In case of not reaching an agreement, the Competition Committee will be responsible for determining the date of the meeting."
After the Catalan independence referendum in 2017, Barcelona played a league match against Las Palmas behind closed doors in protest, after their request for a postponement was rejected.
Barcelona play away at Eibar in La Liga on Saturday and planned to make the 589-kilometre journey by bus to avoid demonstrations at El Prat airport.
Real Madrid also play on Saturday, away at Real Mallorca.