Iago Aspas had an effort on goal in the first minute, but his strike did not trouble Diego Lopez.
Real's first real effort on goal came after 22 minutes, but Ronaldo could not find the target.
Roberto Lago came close again for Celta, but his strike failed to hit the target.
Ronaldo almost gave his side the lead late in the first half, but he could only hit the bar with his powerful header on goal.
The Portuguese forward was involved again in the second half, breaking free on 51 minutes, but his finish was just lacking.
Ronaldo then gave Real the lead on 61 minutes, striking with his left foot from inside the area to make it 1-0.
Celta replied two minutes later through Aspas, who finished well from a Fernandez assist to bring the scores level.
The away side were given a penalty on 71 minutes when Javi Varas committed a foul in the area. Ronaldo stepped up and smashed the spot kick past the goalkeeper to restore his side's advantage.
Celta pushed on in search of a late equaliser, but strikes from Fernandez and Aspas were not enough to get them back in the game.