With Atletico Madrid playing on Sunday, Gerardo Martino's side moved four points clear at the top of the table with their ninth win of the campaign.
Neymar fired his first Clasico goal in the first half to give Barca an early lead, and Alexis Sanchez doubled the hosts' advantage late on with a perfectly-executed chip from the edge of the penalty area.
Jese Rodriguez netted a late consolation for Madrid but they are now six points behind Barca.
Celta Vigo moved level on points with opponents Malaga courtesy of an emphatic 5-0 away victory.
Alex Lopez struck twice for the visitors, while Augusto Fernandez, Nolito and Charles were also on target as Celta ended a run of seven games without success.
Defeat for Bernd Schuster's men was their third at home this season and extends Malaga's search for a win to four games.
Levante bounced back from defeat to Real Madrid last weekend with a 3-0 victory over Espanyol.
Joaquin Caparros' side raced into an early lead as Nabil El Zhar and Babacar Diawara scored inside the opening half hour.
El Zhar then struck his second - and Levante's third - in the 51st minute to ensure Espanyol suffered a fourth defeat in five matches.
Elche saw their three-game winning run brought to an abrupt halt by visiting Granada.
Manuel Iturra's goal midway through the first half ensured a 1-0 victory for Granada, their second away win of the season.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.