With the game against Switzerland seemingly headed for extra time, Bernardo collected the ball on the right and managed to lay the ball to Ronaldo who made no mistake with 88 minutes played.
Ronaldo had earlier put the Portuguese ahead from a free-kick before the Swiss levelled after the break.
After being denied what looked like a legitimate penalty claim, the busy Bernardo continually buzzed around the Swiss box looking to put the hosts back in front.
But it wasn't until the dying stages that City's Etihad Player of the Year provided the perfect assist for Ronaldo to snatch victory.
And the Juventus forward completed his hat-trick just two minutes later to seal a 3-1 win.
Portugal will now play the winners of Holland v England on Thursday evening with the losing side meeting the Swiss in the 3/4th place play-off.