The Portuguese's 25th league goal of the season proved the difference between the two sides at La Rosaleda, as Carlo Ancelotti's men continued to force the pace at the top of La Liga ahead of El Clasico against Barcelona next weekend
After slumping to a shock 3-2 defeat at Malaga last season, Real looked determined to avoid a repeat this time out.
But they were still made to work for the victory, which came via Ronaldo's clever finish in the 23rd minute, as he fired across goal and into the bottom corner.
The Ballon d'Or winner could have made it more comfortable when he headed narrowly wide with another fine chance just prior to the break, but this time he was wasteful.
Isco started for Real against his former side and he should have put the match beyond them when he missed a one-on-one early in the second half.
The home side then enjoyed their fair share of late pressure, but they were ultimately unable to break down Real, as the visitors held on to stay clear of second-placed Atletico Madrid ahead of their meeting with Espanyol.
Ancelotti had insisted that the trip was of "crucial" importance to Real as they looked to at least maintain the four-point gap between themselves and Barcelona ahead their meeting next week - and the visitors looked dangerous right from the start.
They could have been awarded a penalty just six minutes in, but referee Juan Martinez ignored their protests after Marcos Angeleri brought down Gareth Bale.
After a nervous start, Malaga's first chance fell to Roque Santa Cruz 12 minutes in, as he directed a header over the crossbar following Nordin Amrabat's right-wing cross.
Unsurprisingly, Real capitalised on that miss by taking the lead.
With 23 minutes gone, Bale floated a lofted pass over to Ronaldo on the left-hand side of the area and the Portuguese cut inside before guiding a low effort into the bottom corner.
Ronaldo almost netted his second just before the break as he rose to meet Angel Di Maria's stunning volleyed cross, but Willy Caballero was grateful to see the header go wide.
Real looked determined to wrap up the win as early as possible at the beginning of the second period and they should have doubled their advantage in the 51st minute, but Isco blazed over when one-on-one with Cabellero after Di Maria's solo run.
Pepe was lucky to stay on the pitch after 61 minutes when he caught Duda crudely on the knee with his studs.
Caballero then denied Ronaldo a second goal 10 minutes from time as he dived down to his right to palm away the forward's effort, but Real had done enough.
They held on for three important points in the title race, while Malaga remain in trouble at the bottom and are now only just clear of the drop zone.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.