Pepe winner keeps Portugal hopes alive
Pepe gave Portugal the lead, towering above the Hungarian defence to head in from Deco's free kick in the 10th minute.
Hungary almost equalised moments later, but Roland Juhasz's header went wide.
Victory for Portugal took them up to third place in Group One with 13 points from eight matches, and two still to play.
Denmark top the group with 18 points after being held to a 1-1 draw by Albania, while Sweden moved up to second on 15 points after their 1-0 win over Malta. Hungary, like Portugal, have 13 points.
"We showed we are better then our opponents," said goalscorer Pepe. "This result re-launches our campaign for the World Cup."
The group winners qualify directly, while eight of the nine second-placed teams will go into two-legged play-offs for the four remaining places.
The Hungarians created danger through two Balazs Dzsudszak free kicks in the middle of the first half, with a low drive in the 23rd minute deflected to a corner and a powerful shot two minutes later flying inches from Eduardo's right post.
Portugal came close to doubling their lead in the 30th minute when Meireles' through-ball put Cristiano Ronaldo clear, but the winger's curling shot was blocked by Gabor Babos.
The Hungarians' best chance came from a Laszlo Bodnar free kick which forced Eduardo to a tight save in the 78th minute.
"There are still four teams in the race and now the team that has the most fire-power, personality and unity will win this final sprint," Portugal coach Carlos Queiroz said.