Despite missing talisman Karim Benzema due to injury, Real Madrid came into the game as huge favourites but were embarrassed at their own backyard by Xavi Hernandez's side.
The 4-0 scoreline looked flattering but Barcelona were profligate and could have scored more.
A brace from Pierre-Emerick Aubameyang and a goal each from Ronald Araujo and Ferran Torres cut Madrid's lead at the top of the table to nine points.
Ancelotti tried to get creative in Benzema's absence by deploying Luka Modric in a false nine, but the Italian has admitted his experiment failed woefully.
"It hasn't worked out," Ancelotti said. "When they advanced, we lost control. They hurt us. It was not a good night, we are sorry for the fans, but we have to look forward. We have an advantage, we have to rest and come back.
"I tried to push up and it hasn't come off, my fault. It's hard because it's a Clasico, we're very sorry, it's a blow, we've lost a battle, but we have an advantage, we have to be calm, calm and recover. We don't have to make a drama out of this match. We're sorry. It's all gone wrong, we have to forget it and look forward."
"I've failed in this game, but I'm not making a big deal out of it."
Barcelona are still 12 points behind Real Madrid but have a game in hand.