The Austrian trailed Jens Byggmark by 0.01 seconds after the first leg but took advantage of the Swede's mistake in the second to win in a combined time of 1 minute, 56.17 seconds.
Andre Myhrer of Sweden was 0.57 back in second, and Hirscher's Austrian teammate Mario Matt came 1.09 behind to take third.
"This result makes me really happy," Hirscher said. "I saw Andre's run from the start, it was brutal so I knew I had to push from top to bottom to have a chance. I managed to do just that."
Byggmark nearly skied out in the final part of his second run and finished 26th, 3.46 seconds off Hirscher's winning time. The Swede has been chasing his third career victory since winning two slaloms in two days in Kitzbuehel, Austria, in January 2007.
Hirscher overtook Aksel Lund Svindal of Norway, who usually skips slalom events, atop the overall standings. Hirscher has 740 points, followed by Svindal with 689 and American Ted Ligety, who skied out in the first run Sunday, with 552 points.
"It's not the right time to discuss the overall title," Hirscher said. "I think we have about 20 races left, so that's still 2,000 points up for the grabs. It's no use talking about the standings now."
Hirscher has been on the podium in all four slaloms this season and extended his lead in the discipline standings to 79 points over Felix Neureuther.
The German, who won the Munich city event on Tuesday and is runner-up to Hirscher in the discipline standings, finished 1.31 off the lead in fifth. Neureuther wasn't skiing freely after hurting his back in a slalom training crash on Friday.
The race took part in rainy and partly foggy conditions, while mild temperatures further softened the course. Despite the poor weather, 17,000 cheering fans were lined up on the slope and in the finish area.
"It's so great to race here, the crowd really loves skiing and celebrates a super party," Hirscher said. "It was very emotional for me that the crowd was so respectful and cheered for me also."
The Austrian's season is showing a remarkable resemblance to last year's. He also won the 2012 Zagreb race for his third victory of the season to take the overall lead. Hirscher then went on to become the first Austrian overall champion since Benjamin Raich in 2006.
Ivica Kostelic of Croatia was fourth after the opening leg but dropped to eighth, 1.78 behind Hirscher.
Kostelic, the 2011 overall champion, finished on the podium of his home race four times in the last five years but is yet to win it.
Ligety was 0.47 off the lead when he straddled a gate about a third into his opening run.
"Straddling is part of the sport," said Ligety, who slammed the conditions. "Not good. It was really rough already at (starting number) 11 ... It's definitely a surface that is not easy to push on and when it's foggy too, that makes it pretty difficult."
David Chodounsky was the only American to make the flip. Despite a costly mistake, he posted the sixth fastest time in the final run to finish 18th.
"The first run was really tough, I did all I could and tried to be solid," said Chodounsky who started 33rd. "In the second run, I tried to charge. The top was pretty good and I let it run on the flats. But I lost time on the flat where you don't want to."
The men's World Cup travels to Adelboden, Switzerland, for a GS and a slalom next weekend.