The Hoffenheim striker notched in the 21st minute to put the visitors ahead, but the Faroe Islands did not fold and came close to earning their first point in five competitive matches.
Hungary's opening goal came against the run of play as Szalai squeezed a shot past former Manchester City keeper Gunnar Nielsen at the near post from a tight angle, following a Balazs Dzsudzsak corner.
The Faroe Islands were again quick out of the blocks after the restart, with Brandur Olsen forcing a decent save out of Hungary keeper Denes Dibusz before heading narrowly wide to the left of goal.
Hungary had few opportunities to kill off the minnows until Szalai and Dzsudzsak worked Nielsen late on, but the goalkeeper's performance ended up meaning little as the hosts could not find an equaliser.
Attila Pinter's side have four points from three games, while Faroe Islands are yet to get off the mark in Group F.