Bale had been surprisingly selected for just his second start since joining the club by Real boss Carlo Ancelotti, but struggled to make an impression as Barca dominated the first-half.
Neymar gave the hosts a deserved lead with a neat finish from a narrow angle on 19 minutes before Lionel Messi ought to have doubled the advantage when he fired wide moments later.
Bale was replaced by Karim Benzema on the hour mark and the Frenchman nearly made an instant impact when he smashed the crossbar with 21 minutes remaining.
However, Sanchez sealed the points 12 minutes from time with a delightful chip over Diego Lopez.
Substitute Jese Rodriguez pulled a goal back for Madrid in stoppage time, but it was too little too late as Barca moved six points clear of their rivals at the top of La Liga.
Bale’s inclusion was not the only surprise amongst Ancelotti’s starting line up as Sergio Ramos was also moved into an unfamiliar central midfield role.
The Welshman had Madrid’s first effort on goal with a left-footed strike that sailed well over, but it was Barca who settled quicker as Real struggled to come to terms with Neymar’s pace and trickery.
It was no surprise that it was the Brazilian who put Barca in front when he collected Andres Iniesta’s pass inside the area and sneaked his shot from a narrow angle inside the far post with the aid of a slight deflection off Dani Carvajal.
The presence of Cesc Fabregas in the Barca side had forced Messi into an unusual position on the right side.
However, the Argentine should have doubled the lead two minutes later when he was released through on goal only to uncharacteristically slide the ball wide on his trusted left foot.
Bale then saw another wild effort from distance fly well over, but Madrid did finally create a clear opening two minutes before the break when Cristiano Ronaldo showed Dani Alves a clear pair of heels down the left and Sami Khedira’s effort on the slide was brilliantly kept out by Victor Valdes.
Bale’s miserable first-half was rounded off in stoppage time when he saw a yellow card for a high challenge on Gerard Pique.
Madrid started the second-half brightly as their pressing higher up the field unsettled Barca.
However, the visitors had Lopez to thank for keeping them in the game as Javier Mascherano picked out Neymar with a wonderful pass in behind the Madrid defence and his volley was beaten away by the keeper.
Ancelotti then introduced Asier Illarramendi for Ramos to improve Madrid’s use of the ball in midfield.
Real’s pressing very nearly delivered an equaliser as Luka Modric and Khedira robbed Iniesta before the Croat fed Ronaldo and his rasping drive was turned behind by Valdes.
Bale was then withdrawn as Ancelotti sent on Benzema in search of an equaliser.
Ronaldo was less furious with referee Alberto Undiano Mallenco when he felt he had been bundled over by Adriano inside the area.
And seconds later Benzema nearly marked his entrance in stunning fashion as he lashed an effort from outside the area off the underside of the bar.
Sanchez ensured that Barca wouldn’t have to endure a nervy final 10 minutes as he showed great speed to reach Neymar’s pass before lifting a wonderfully judged lob over Lopez.
Jese gave Madrid a flicker of hope in stoppage time as he collected Ronaldo’s pass to score low past Valdes, but Los Blancos didn’t have time to mount another attack as they slipped to their second defeat of the season.