The Portuguese striker notched his 25th league goal of the campaign with a clinical finish from the edge of the area to see off Malaga who battled hard but lacked a cutting edge.
He hurt his thigh after colliding with Ronaldo and had to be substituted but it did not look a serious injury.
Real have 70 points, six more than city rivals Atletico Madrid who take on Espanyol in the late game. Barcelona, third on 63 points, face Osasuna on Sunday.
"We suffered because they pressed us in the second half and we were not able to get forward much," Real midfielder Xabi Alonso told reporters.
"We were not sharp in moving the ball from midfield to attack. We didn't link up well."
Real were without the suspended Sergio Ramos at the back and brought in Raphael Varane.
With Angel Di Maria one booking away from a suspension and the 'Clasico' looming next weekend against Barca, the winger was on the bench and Isco started.
Malaga went out looking to assert themselves and they had plenty of the ball, Nordin Amrabat a threat with his movement and energy.
The Andalusian side have had defensive problems all season, though, and they stood off Ronaldo too much, giving him time to pick his spot in the bottom corner of the net after 23 minutes.
The Portuguese forward could have added a quick second goal but was denied by a good block from Willy Caballero.
Di Maria was introduced after half an hour for Benzema and Real started to play at their rhythm.
Isco was sent clear by Di Maria after the break but failed to keep his cool in front of goal and fired over.
Elsewhere, Rayo Vallecano beat Almeria 3-1 and Levante went down 1-0 at home to Celta Vigo.
- Sports & Recreation
- Angel Di Maria
- Karim Benzema