Neymar opens El Clasico account as Barcelona beat Madrid
Neymar, who joined the Catalan club for €57 million ($78 million) in the summer, opened the scoring in the 18th minute, side-footing a low right-foot shot past Diego Lopez after being played in by Iniesta.
Despite fielding world-record signing Gareth Bale alongside Cristiano Ronaldo, Real couldn't find a route though a well-organized Barcelona defense.
Ronaldo went close in the 58th minute -- his low right-foot shot forcing a smart save from Victor Valdes -- and Karim Benzema (who replaced Gareth Bale in the 61st minute) hit the woodwork in the 72nd minute with a sweetly struck shot from 20 yards.
But it was Gerardo Martino's team who delivered the killer blow seven minutes from time as substitute Alexis Sanchez scored with a delightful chip over Lopez.
Jese Rodriguez pulled one back for Madrid in the 90th minute but it couldn't stop Barcelona winning a first league match over their arch rivals since December 2011.
The win sends Barca four points clear at the the top of the league with nine wins and a draw from their opening ten games. Defeat keeps Real Madrid in third place with 22 points.
Second-placed Atletico Madrid can move five points clear of their city rivals with a win over Real Betis on Sunday evening.
Elsewhere, Malaga's miserable run of form continued with a crushing 5-0 home defeat to Celta Vigo.
The visitors were a goal up after six minutes thanks to a long-range shot from Alex Lopez before Argentine international Augusto Fernandez doubled the lead in the 23rd minute.
Lopez bagged his second in the 64th minute with Nolito adding Celta's fourth in the 73rd minute. Brazilian striker Charles completed the rout with a fifth nine minutes from time.
In the remaining two La Liga fixtures, Levante moved up to seventh after beating Espanyol 3-0 and Granada rise to 11th place after beating Elche 1-0.
Source: CNN