Neymar was Barcelona's hero as his first goal against Real Madrid helped secure a 2-1 victory for Gerardo Martino's side at Camp Nou.
The Brazil international and Alexis Sanchez both got themselves on the scoresheet to seal Barca’s first Clasico victory in five games in all competitions.
Andres Iniesta made the first-half goal for 21-year-old Neymar with a surging run from midfield, but it needed the forward to thread his shot through the legs of two defenders to break the deadlock.
It took Cristiano Ronaldo 57 minutes to register his first effort on goal, but he was denied as Victor Valdes pushed the ball away, while Karim Benzema rattled the crossbar with a thunderous strike.
Alexis completed the victory in the 78th minute with an exquisite chip late on before Jese Rodriguez grabbed a late consolation.
The win moves Barcelona four points clear of Atletico Madrid at the top of La Liga, and six ahead of their opponents.
Lionel Messi returned for Martino’s side for his first start in the league for four weeks following a thigh injury, with the hosts also boosted by the return of Javier Mascherano and Daniel Alves.
Madrid gave Gareth Bale his first Clasico start – his second since moving to the Spanish capital – while Luka Modric also returned the starting line-up.
After Sergio Busquets and Sergio Ramos had both been booked in the opening 14 minutes, the game began to settle into its rhythm with Barcelona controlling large parts of possession and Neymar creating two quick opportunities.
Having wasted his first, Neymar made no mistake with his second after excellent work from Iniesta.
The midfielder ran at the Madrid defence before laying the ball into his team-mate and the Brazilian did the rest as he placed the ball through the legs of two defenders on its way into the far corner.
Madrid were denied an equaliser in the closing minutes of the first half by an excellent save from Valdes.
Ronaldo broke down the left and delivered an inviting cross into the six-yard box, Sami Khedira beat Adriano Correia to the ball, but his effort was well blocked by the goalkeeper.
The hosts began the second half keen to double their advantage quickly and saw good chances for Iniesta and Neymar denied by some resilient defending.
Iniesta saw a long-range effort blocked and Neymar had a volley well saved by Diego Lopez.
Madrid had struggled to create a clear-cut opportunity, but Ronaldo came close to levelling the scores just before the hour. Modric rolled a perfectly-weighted pass into the path of the Portugal international only for Valdes to make a great save down to his right to deny him.
Benzema – who replaced Bale in the 61st minute – saw his powerful strike crash against the crossbar and bounce to safety 10 minutes after coming on.
Alexis secured the victory with 12 minutes to play as he executed a perfect chip over Lopez from the edge of the penalty area, with Jese tapping in for the visitors during stoppage time after good work from Ronaldo.