But the result may still not be enough to ensure Cristiano Ronaldo's side, who were semi-finalists in 2006, make it to South Africa next summer.
They have slumped to fourth place, seven points behind Denmark, three behind Hungary and two back from Sweden, who won 2-1 against the Hungarians in Budapest. All four have three games left to play.
When these sides met in Lisbon last September, Portugal suffered a spectacular meltdown when they allowed the Danes to score twice in the last four minutes to secure a 3-2 win.
Portugal, coached by former Manchester United assistant manager Carlos Queiroz, dominated most of the opening 45 minutes, but fell behind two minutes before the interval.
Portugal brought on Liedson, who recently became a Portuguese citizen, at half-time but the 31-year-old Sporting Lisbon player's first major act was to get booked after just three minutes on the pitch.
The Portuguese continued to pile on the pressure. They brought on veteran striker Nuno Gomes with ten minutes left while Chelsea ace Deco curled a free-kick just over the bar in the 83rd minute.