Sergio Santos also scored for the Union (6-1-6, 24 points), which snapped a streak of five consecutive draws to remain in first place in the Eastern Conference. The Timbers (3-5-6, 15 points) suffered their second straight loss.
Union goalkeeper Andre Blake made two saves, posting his sixth shutout of the season.
The Union had just one point in five previous trips to Providence Park, a 1-1 draw in 2014.
Gazdag's goal came after Philadelphia took a throw-in near the top of the 18-yard box on the right wing. Nathan Harriel's long throw went to Alejandro Bedoya near the top of the six-yard box, and he flicked along a header to Gazdag.
Gazdag outmuscled Portland defender Josecarlos Van Rankin for positioning and put an overhead kick into the right side netting, leaving Timbers goalkeeper Aljaz Ivacic flat-footed. It was Gazdag's team-leading seventh goal of the season.
Bedoya had a chance to double the advantage in the 11th minute after taking a free kick from Kai Wagner, but Ivacic stopped Bedoya's shot from close range.
The Union made it 2-0 in the 48th minute. A cross went all the way across the goalmouth, but Jack Elliott tracked down the ball in the left wing corner and passed back to Wagner outside the top corner of the 18-yard box. His left-footed cross found Santos and his header from 10 yards went into the left side netting.
The Timbers' Sebastian Blanco appeared to cut their deficit to 2-1 in the 69th minute on a rebound following a scramble in front of the net. But a video review determined Santiago Moreno, who took the initial shot, was offside on the play.
Portland's Eryk Williamson had to be taken off in the 13th minute with an apparent left leg injury.