The Real Madrid forward failed to sparkle in Portugal's two previous matches but he was devastating against the Dutch. He produced an equalizer with his first goal of the tournament in the 28th minute and scored the winner in the 74th.
''Ronaldo got so much criticism in the last game and he is back now,'' Netherlands coach Bert Van Marwijk said. ''That is how fast things can change.''
Needing a win to have a chance at staying in the tournament, the disappointing Dutch fielded an impressive attacking lineup featuring Klaas-Jan Huntelaar and Robin van Persie up front, but it wasn't enough to keep them at Euro 2012.
''We started quite well but we were playing against one of the better teams today,'' Rafael van der Vaart said. ''We lost three times. We were bad and we don't deserve to go through.''
The Dutch lost in the World Cup final to Spain two years ago and, with stars like Van Persie, Arjen Robben and Wesley Sneijder, had anticipated a strong run at Euro 2012.
Instead, it will be Portugal in the quarterfinals facing the Czech Republic on Thursday in Warsaw.
''It won't be easy. We'll have to be this good again to reach the semifinals,'' Portugal coach Paulo Bento said.
And it was Ronaldo that stole the show.
Portugal cranked up the pressure after falling behind, with Ronaldo probing the Dutch back line and equalizing from Joao Pereira's pass. It was the kind of chance he took so often at Real Madrid last season, when he scored 60 goals for his club, but wasted in Portugal's opening matches.
For his second, he received a pass from former Manchester United teammate Nani, coolly wrong-footed his marker and tapped the ball past the goalkeeper.
Portugal opened Euro 2012 with a 1-0 loss to Germany but rebounded to beat Denmark 3-2. The Portuguese went into the match against the Netherlands with an unchanged team from those encounters.
''Once again we showed how united we are as a team,'' Portugal midfielder Miguel Veloso said. ''It wasn't easy to start with a defeat. The secret was our defending, our humility.''
After losing their first two games to Denmark and Germany when they started with a lone striker, Van Marwijk added Huntelaar alongside Van Persie, the leading scorers in the Bundesliga and Premier League, respectively. But Huntelaar was a spectator for most of the game, while Sneijder was stuck on the left wing in an unexpected tactical decision Van Marwijk.
Portugal: Rui Patricio, Bruno Alves, Fabio Coentrao, Joao Pereira, Pepe, Joao Moutinho, Raul Meireles (Carlos Custodio, 72), Nani (Rolaldo, 87), Miguel Veloso, Helder Postiga (Nelson Oliveira, 64), Cristiano Ronaldo.
Netherlands: Maarten Stekelenburg, Joris Mathijsen, Gregory Van der Wiel, Ron Vlaar, Jetro Willems (Ibrahim Afellay, 67), Nigel De Jong, Wesley Sneijder, Rafael Van der Vaart, Klaas-Jan Huntelaar, Arjen Robben, Robin Van Persie.