Primeira Liga: Braga 2 Nacional 1
The hosts were quick out of the blocks at Estadio Municipal de Braga, and went ahead in the sixth minute when Felipe Pardo cut the ball back for Baiano, who powered into the roof of the net.
That lead was doubled 11 minutes later - Alan converting from the spot after Fernando Marcal was judged to have handled in the penalty area.
Yet Nacional, who had drawn nine matches in their 13-match run, refused to go down without a fight and pulled one back when Djaniny beat his man to prod home from close range just before the half-hour mark.
Raul Rusescu should have re-established the home side's two-goal advantage after the break, but sent the ball wide of the right-hand post when unmarked 12 yards out.
That miss almost proved costly when Eduardo spilled the ball from a Djaniny shot, but the goalkeeper recovered well to smother at the second attempt.
The win is Braga's first under Jorge Paixao and moves them to within four points of fifth-placed Nacional.