Ronaldo's three goals, two trademark headers and one from a free kick, sent Portugal back to the top of Group F and made him his country's second best goalscorer of all time with 43 goals, ahead of the great Eusebio who scored 41.
Before Ronaldo grabbed his first hat-trick for Portugal in the second half, they struggled to penetrate Northern Ireland's defence and it took a piece of individual brilliance from centre back Bruno Alves to break the deadlock.
Alves applied an unorthodox first-time shot with the inside of his foot that drifted into the goal after 29 minutes but Gareth McAuley towered above the Portuguese defence and levelled with a textbook header from a corner just before the break.
The Portuguese were then dealt a major blow when striker Helder Postiga was shown a straight red card for a head-butt on McAuley and forward Jamie Ward compounded Portugal's misery by tipping in a goalmouth scramble after 52 minutes from another corner.
Portugal got back into the match when Chris Brunt was shown a second yellow card and was also sent off, making it 10 against 10.
Ronaldo headed in another corner to make it 2-2 with 20 minutes to go and another one put Portugal in front with 77 minutes on the clock.
Northern Ireland's Kyle Lafferty was also shown a straight red card before Ronaldo completed his hat-trick with a fine free kick.
Group rivals Russia beat Luxembourg 4-1 and are second, on 15 points with one game in hand. The Portuguese, on 17 points, host Israel and Luxembourg in the final two qualifiers in October.
Switzerland squandered a three-goal lead in the last 35 minutes of their game against Iceland to draw 4-4 at home on Friday.
Johann Gudmundsson scored a hat-trick as Iceland grabbed an unlikely point despite trailing 4-1 early in the second half.
The visitors had taken an early lead but appeared to be out of the match when Switzerland scored three goals in a 15-minute spell.
Despite the embarrassment, Switzerland, aiming to qualify for their third successive World Cup, have a four-point lead at the top of Group E with three matches to play.
Iceland stunned the crowd at the Stade de Suisse in the third minute when Gylfi Sigurdsson crossed from the left and Gudmundsson was given time to bring the ball under control and fire it into the roof of the net with a shot on the turn.
Stefan Lichtsteiner levelled the score in the 15th minute when he headed in Granit Xhaka's outswinging cross and central defender Fabian Schaer put them ahead in the 27th, snapping up a rebound after Hans Seferovic's shot was parried by Hannes Halldorsson.
Three minutes later, Xherdan Shaqiri burst from the halfway line and slipped the ball to Lichtsteiner, who drilled in a low shot from the edge of the area
Dzemaili extended the Swiss lead when he blasted in a penalty in the 54th minute and the hosts appeared to be home and dry.
Instead, Kolbeinn Sigthorsson powered through the Swiss defence to pull one back for Iceland two minutes later.
Gudmundsson reduced the arrears further in the 68th minute and Iceland, who have never played at the World Cup, completed a remarkable fight-back when the Dutch-based forward curled in a brilliant shot from the edge of the area in stoppage time.
Unbeaten Switzerland have 15 points from seven games and visit Norway, who have 11, on Tuesday. Iceland have 10 points.
Robin van Persie's stoppage time penalty spared the Netherlands from suffering an embarrassing defeat as they drew 2-2 in Estonia.
The spot kick delivered a devastating blow to lowly Estonia, who were just minutes away from a famous triumph after Konstantin Vassiljev scored twice on either side of the interval for the hosts.
They had come back from conceding a goal inside the opening 60 seconds when Arjen Robben's strike threatened a one-sided result for the Group D leaders.
The Dutch dropped points for the first time in the preliminaries after six successive wins but still have a handy six-point lead over second-placed Romania, who are on 13, in the standings. Estonia remain second bottom with seven points.
France's chances of qualifying directly for the 2014 World Cup finals were left hanging by a thread following a goalless draw in Georgia on Friday.
Les Bleus remain second in Group I with 11 points from six games. They are currently level with leaders Spain, who will open up a three-point lead if they beat Finland later on Friday.
With two games left, France look as if they will have to settle for a second-place finish and attempt to qualify for the showpiece tournament in Brazil via the play-offs.
Miroslav Klose equalled Gerd Mueller's 39-year-old German scoring record as his side sailed to a 3-0 win over neighbours Austria.
Klose, in typically opportunist fashion, got in front of his marker to turn in the ball after Thomas Mueller whipped in a low cross from the right to break the deadlock in the 34th minute.
It was the 35-year-old's 68th goal in 129 appearances, matching Mueller's mark which had stood since 1974.
Toni Kroos made sure of three points with a long-range strike shortly after halftime and Mueller completed the scoring with an easy tap-in in the 88th minute, putting Germany ever closer to a place at next year's World Cup in Brazil.
Holders Spain moved to brink of qualification for next year's World Cup finals when Jordi Alba and Alvaro Negredo struck either side of halftime in a 2-0 win away to Finland.
he comfortable victory in Helsinki stretched the world and European champions' lead over France at the top of the group to three points with two matches remaining after the French could only manage a 0-0 draw against Georgia in Tbilisi.
Cesc Fabregas chipped the ball over the stubborn Finland defence in the 19th minute at a packed Olympic stadium and Alba took one touch before firing between the legs of goalkeeper Niki Maenpaa.
As Finland pressed further forward late in the game, Xavi released Jesus Navas on the right four minutes from time and he squared the ball to fellow substitute and Manchester City team mate Negredo who clipped it high into the net.
Romania beat neighbours Hungary 3-0 at the National Arena on Friday to climb to second place in Group D and improve their chances of reaching the play-offs.
The home side took control with their first attack when Ciprian Marica stole the ball off Richard Guzmics, came face to face with keeper Adam Bogdan and calmly slotted home in the second minute for his third goal in the qualifying campaign.
Romania continued to press forward and Mihai Doru Pintilii doubled their lead with a thunderous 25-metre shot that gave Bogdan no chance after 31 minutes. It was Pintilii's first international goal in 14 appearances.
Bogdan Stancu almost got his name on the scoresheet midway through the second half but embarrassingly missed the target from the edge of the penalty area with only keeper Bogdan to beat.
Hungary came closest when Razvan Rat made a vital interception to deny Daniel Bode and Cristian Tanase made it 3-0 with a class finish with two minutes remaining.
Romania host Turkey on Tuesday in their next qualifier and Hungary take on Estonia.
Italy moved to within one match of qualifying after Alberto Gilardino's close range header handed them a nervy 1-0 win against Bulgaria on Tuesday.
Gilardino's 38th minute goal lifted Cesare Prandelli's side to 17 points at the top of Group B, seven clear of second-place Bulgaria with three games to play.
In the second half Italy captain Gianluigi Buffon twice had to be at his best to save his side from a potentially costly draw, with a wonder save three minutes after the break somehow keeping out what looked to be a certain equaliser from Ivelin Popov.
The Azzurri are also now eight points ahead of the Czech Republic, who lie third on nine points after conceding an injury time goal to lose 2-1 at home to Armenia.
If Italy beat the Czechs on Tuesday they will directly qualify for the finals in Brazil.
FYR Macedonia 2 - 1 Wales
Serbia 1 - 1 Croatia
Scotland 0 - 2 Belgium
Czech Republic 1 - 2 Armenia
Malta 1 - 2 Denmark
Italy 1 - 0 Bulgaria
Kazakhstan 2 - 1 Faroe Islands
Germany 3 - 0 Austria
Ireland 1 - 2 Sweden
Romania 3 - 0 Hungary
Turkey 5 - 0 Andorra
Estonia 2 - 2 Netherlands
Norway 2 - 0 Cyprus
Slovenia 1 - 0 Albania
Switzerland 4 - 4 Iceland
Russia 4 - 1 Luxembourg
N.Ireland 2 - 4 Portugal
Latvia 2 - 1 Lithuania
Bosnia-Herzegovina 0 - 1 Slovakia
Liechtenstein 0 - 1 Greece
Ukraine 9 - 0 San Marino
Poland 1 - 1 Montenegro
England 4 - 0 Moldova
Georgia 0 - 0 France
Finland 0 - 2 Spain