The Brazil star opened the scoring at Camp Nou as he upstaged the world's most expensive player, who was withdrawn from the action midway through the second halfNeymar and Alexis Sanchez saw Gerardo Martino win his first Clasico in charge of Barcelona as they ran out 2-1 winners over Real Madrid on Saturday evening.
Jese Rodriguez scored a late consolation for los Blancos, but the damage had already been done following the Brazilian's close range effort in the first half and Sanchez's moment of brilliance in the second.
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 possession for long periods 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, with Sami Khedira beating 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.
But Alexis secured the victory with 12 minutes to play as he executed a perfect chip over Lopez from the edge of the penalty area.
Jese tapped in for the visitors during stoppage time after good work from Ronaldo, but was too little too late for Carlo Ancelotti's side as Barca took the Clasico spoils.