Real overturned a 2-0 first-leg deficit to beat Wolfsburg 3-2 on Tuesday.
In February, the Portuguese forward walked out of a Champions League news conference after being questioned about his record in away matches this season.
“Considering this has been a ‘bad’ season for me, it has not been that bad,” Ronaldo, 31, said after victory.
He scored twice in three minutes early on to cancel out Wolfsburg’s advantage, sweeping home at the back post from six yards before glancing a header into the far corner.
He completed his hat-trick and sealed Real’s place in the last four with a 25-yard free-kick 13 minutes from time at the Bernabeu Stadium.
Ronaldo, who was booed by his own supporters during the 2-0 second-leg victory over Roma in the last 16, took his tally to 46 goals in all competitions this season, including 16 in the Champions League.
“It was not the best, but one of my best, European nights,” said Ronaldo.
“It was a magic night for me. I’m very happy after having scored three goals and raise my numbers, but the most important thing was the team. The team was intense and played very well. It is a beautiful night.”
“People can criticise me but I just keep on going and the numbers are there for all to see. I am very happy and with a month left of the season I can get even better.
“It’s not bad, is it? Goals are in my DNA and I want to keep scoring them for the team.”
Real coach Zinedine Zidane said: “What can I tell you about Cristiano? He is demonstrating how good he is. He makes the difference.
“He is the best player in the world and nights like tonight make him a special player. Cristiano needs the whole team too but not everyone can score three goals in a game.”
Manchester City reached the semi-finals by beating Paris St-Germain, while Atletico Madrid face Barcelona and Benfica meet Bayern Munich on Wednesday for the final two places.