Portugal overcame the early loss of Cristiano Ronaldo to move into pole position for a World Cup Qualifying play-off.
Two goals from Simao Sabrosa and a header from Liedson earned the hosts their first home win in the qualifying campaign. That, coupled with Sweden's 1-0 defeat away to group winners Denmark, saw Carlos Queiroz's side move into second place in Group One, a position they can wrap up if they beat Malta in Guimaraes on Wednesday.
Ronaldo had made an impact before his departure as his shot in the 18th minute was fumbled by keeper Gabor Babos and Atletico Madrid winger Simao reacted quickest to tuck away the loose ball and set his side on their way to victory. The Real Madrid star then saw an ankle injury end his participation before the half-hour mark, as he was replaced by former Manchester United team-mate Nani.
Hungary had two chances to equalise before the interval, with Balazs Dzsudzsak the first to threaten when his effort was blocked by midfielder Duda. Defender Roland Juhasz went even closer in first-half stoppage time as his header rattled the hosts' crossbar.
Portugal's defence held their opponents at arm's length in the early stages of
the second half and eased the pressure on them when Sporting's Liedson scored
the second goal - his second in just three caps since gaining Portuguese
citizenship - in the 74th minute.
Bruno Alves delivered his side's 12th corner of the game and the Brazilian-born forward headed powerfully past NEC Nijmegen captain Babos. Five minutes later, Simao capped a man-of-the-match performance as he met Duda's left-wing cross and headed his second and Portugal's third to put the result absolutely beyond doubt.
Victory over group basement side Malta - yet to score in nine games which have yielded just a solitary point, and beaten 4-0 in their previous meeting with Queiroz's side - would leave Portugal on 19 points. That would take them out of range of Sweden in the battle for the runner-up spot behind the Danes, regardless of what Lars Lagerback's men achieve against Albania in midweek.