Determined Real Madrid Sink Dortmund: 3-0
Real got off to a fantastic start when Bale poked in after three minutes, before Isco doubled the advantage with a low shot from the edge of the area.
Ronaldo added a third after the break when he danced past goalkeeper Roman Weidenfeller and slotted in.
The second leg is on 8 April.
Jurgen Klopp's side, who were beaten by Bayern Munich in last season's final, will retain faint hope they can turn the tie around, but they will also realise they were soundly beaten by a Real side who was not operating at their very best.
Bale has now scored five goals and assisted three more in eight Champions League appearances for Real Madrid
If the Spanish giants perform like they did when they demolished Schalke 6-1 in Gelsenkirchen in the previous round, then Dortmund will have no hope.
The German side did have their opportunities. They had 12 efforts on goal, although only two were on target, and without suspended striker Robert Lewandowski, they lacked poise in front of goal.
The visitors found themselves a goal down when Bale, who has had a superb debut season with Los Blancos, caught the defence out as he sprinted into the area to convert Dani Carvajal's square ball. It was the Welshman's fifth goal in eight Champions League games.
Real made it 2-0 just before the half-hour mark when German keeper Weidenfeller and his backline were outwitted by the quick feet of Isco and the subsequent low shot that found the bottom right corner.
Weidenfeller had a tough workout on a wet night in Madrid. He tipped over free-kicks from Ronaldo and Bale, before using his foot to block the latter's deft flick from eight yards. Perhaps the save of the night came after the break when he denied Karim Benzema's half-volley that seemed destined for the roof of the net.
However, he could do nothing for Real's third which was brilliantly converted by Ronaldo.
The Portuguese forward, in his 100th appearance in the competition, found himself face-to-face with the keeper, before shifting to his left and tapping in.
It was a record-equalling 14th goal in a single season of this version of the competition - matching Barcelona's Lionel Messi.
Dortmund created a couple of good chances after the break. First, Henrikh Mkhitaryan had his shot from three yards blocked by Pepe, while Pierre-Emerick Aubameyang fired a yard wide when he should have hit the target.
An away goal would have given Dortmund hope but, as it is, next week's fixture is likely to be their final appearance in this season's competition.