The home side made the breakthrough in the ninth minute of the match when Bale managed to turn through the legs of Leganes goalkeeper Ivan Cuellar after Benzema's shot had been blocked.
Leganes' first serious chance arrived in the 25th minute when Guerrero met a brilliant free kick from Diego Rico, but the striker's header just dropped wide of the far post.
Guerrero had another opportunity in the 28th minute following a low cross from El Zhar, but the number nine could not make contact with an attempted flick, before Borja Mayoral had one cleared off the line by Unai Bustinza down the other end.
Dani Ceballos then curled one into the arms of Cuellar 10 minutes before the end of the first period, before Amrabat clipped the Real Madrid crossbar with a curling strike from distance.
Zidane's side had their second on the stroke of the interval when Mayoral turned a Mateo Kovacic cross home from close range. Leganes wanted offside, and initially thought that the goal had been disallowed, but the half-time whistle was blown with the Spanish champions leading 2-0.
Guerrero had another chance for Leganes early in the second period when he met a cross from El Zhar, but the forward's effort was never threatening to trouble Kiko Casilla between the Real Madrid sticks.
Toni Kroos and Marco Asensio both came off the home side's bench just past the hour, and Benzema was one of those to depart, with the Frenchman sure to be involved in some capacity against Bayern on Tuesday night.
Leganes silenced the Bernabeu in the 66th minute when Darko Brasanac turned a low Amrabat cross into the back of the net, and it was no more than the away side deserved.
Amrabat stung the palms of Casilla 20 minutes from time as the visitors looked for a leveller, but Real Madrid were still creating chances, and Bale just missed the crossbar with a curling effort in the 72nd minute.
Casilla then made a super save to keep out Bustinza in the 75th minute, before Claudio Beauvue just dropped the ball over the crossbar with a sensational effort from distance.
Leganes pushed and pushed for a leveller in the Spanish capital, but Real Madrid held off the plucky visitors to put another win on the board ahead of their clash with Bayern at the Bernabeu next week.
There were some unsavoury scenes after the final whistle, meanwhile, with Leganes captain Gabriel receiving a straight red card for something that he had said to the referee, who signalled the end of the match while El Zhar was lining up a strike in a dangerous position.
REAL MADRID (4-3-3): Casilla; Achraf, Vallejo, Casemiro, Theo; Llorente, Kovacic (Kroos 62'), Ceballos; Bale, Benzema (Asensio 62'), Mayoral
LEGANES (4-3-3): Cuellar; Zaldua, Bustinza, Siovas, Rico; Perez, Brasanac (Naranjo 90'), Gabriel; El Zhar, Guerrero (Beauvue 62'), Amrabat (Eraso 90')