Northern Ireland took the lead in the first half after a cool lob from Niall McGinn and kept Portugal at bay until the 79th minute when Helder Postiga turned the ball home.
But it was a frustrating evening for the hosts with their captain Cristiano Ronaldo left disappointed on his 100th cap.
Portugal are third in the group level on seven points with Israel, while Russia are top on 12 points after the latter two won their matches on Tuesday.
The match in Oporto started brightly with Portugal having the majority of the play but failing to create any real chances thanks largely to a well-organised Northern Irish back line.
And a fine break from the visitors in the 29th minute saw them take a shock lead. Jonny Evans – who put in a man-of-the-match performance - cut out a Portuguese pass in the centre of the pitch and fed Kyle Lafferty, who did well to find McGinn’s run into the area. The Aberdeen winger coolly lobbed Rui Patricio.
Portugal almost equalised before the break when Craig Cathcart struck his own crossbar while attempting to clear a cross from the right with a desperate lunge.
The second half began much as the first started, with Portugal pressing while finding it difficult to break Northern Ireland down.
On 57 minutes Nani managed to create space for himself down the right and put in a dangerous low cross for Ronaldo, who shot powerfully straight at Roy Carroll.
Silvestre Varela's introduction for Micael on the hour mark seemed to bring an extra dimension to Portugal’s play and they began to create chance after chance.
Ronaldo had his best opportunity of the game on 70 minutes as Pepe played a delightful ball down the middle for him, bypassing in one move the ranks of Northern Irish midfielders and defenders, but Aaron Hughes tracked him brilliantly and got back in the nick of time to concede the corner.
Portugal’s goal came soon after through Postiga as he found space in the Northern Irish area, turned superbly and finished low into the net.
It was a rallying cry for Portugal, who stepped up the pressure as the home crowd – hitherto silent in the face of Northern Irish resistance – bayed for blood.
The away side understandably decided to try and hold on for the draw, although they did continue to show ambition on the break wherever possible. And they could have snatched a win in the dying moments only to be denied the chance by an offside flag.
Michael O'Neill's side were good value for the point. By contrast, Portugal will be disappointed not to have found their cutting edge earlier on in the match.
RUSSIA 1-0 AZERBAIJAN
Roman Shirokov struck a late penalty as Russia laboured to a 1-0 win over Group F outsiders Azerbaijan in Moscow to maintain their 100 per cent World Cup qualifying record under coach Fabio Capello.
The Russians thoroughly dominated the visitors but failed to hit the target until Shirokov calmly converted the 84th-minute spot-kick following a foul on substitute Vladimir Bystrov.
Video replays showed the foul was committed outside the box but Azerbaijan coach Berti Vogts said the home team deserved to win.
"I can only congratulate Russia on their victory," former Germany boss Vogts, who has been coaching the oil-rich country on the Caspian Sea since 2008, said.
"We fought hard but overall they played better than us. As for the penalty kick, I didn't see the replay yet. Nevertheless, there's no point in discussing the referee's decision now."
The hosts, who beat main group rivals Portugal 1-0 on the same artificial Luzhniki turf four days ago, were guilty of wasting numerous chances against 111th-ranked Azerbaijan.
Alexander Kerzhakov, who scored the winner on Friday, came closest to finding the net in the first half but his drive from the edge of the box hit the crossbar in the 30th minute.
"Of course, it would have been much easier for us if we scored an early goal," said Italian Capello, who replaced Dick Advocaat as coach following Russia's poor showing at Euro 2012.
"But you have two teams on the pitch. Azerbaijan have become a very organised team under Berti Vogts, so today we had a very tough opponent."
The Azeris, beaten by Russia 2-0 in a 2010 World Cup qualifier at the same arena in 2009, were content to stay back for most of the match.
The visitors, missing injured captain Rashad Sadygov, rarely troubled Russia keeper Igor Akinfeyev, who set his country's all-time record, including Soviet times, by keeping a clean sheet for the eighth consecutive game.
"(Akinfeyev) is one of our best players. He is largely responsible for us winning these four qualifiers without conceding a single goal," said Capello.
Russia stayed top of the group on 12 points from four games and Azerbaijan have one point following a 1-1 draw against Israel in last month's opener.
ISRAEL 3-0 LUXEMBOURG
Israel followed up Friday's 6-0 win in Luxembourg by beating the same opponents 3-0 in Tel Aviv.
Tomer Hemed got two of the goals and Eden Ben Basat the other.
- Northern Ireland
- Cristiano Ronaldo