Fellow Swede Mattias Hargin, who was 30th after the first run, took third for his first ever visit to a World Cup podium.
Myhrer, whose first World Cup win was at Aspen four years ago, celebrated turning 28 five days early when improving from fourth after the first leg, edging victory by ten hundredths of a second.
“It’s the first time I have led the overall slalom standings and I intend to stay there as long as possible,” said Myhrer, who picked up Olympic bronze at Vancouver last year.
For Kostelic there was the renewed heartache of finishing second for the third time on the slopes where he had learned to ski.
Italian Giuliano Razzoli, the Olympic champion, was in pole position after the first run, narrowly missed out on third place.
Myhrer also claimed a second spot at Levi in Finland in November.
“Zagreb is one of the most beautiful courses of the season. I am happy to beat Ivica as he deprived me of a win at Wengen last year, ” he said.
“It’s also great that we have two Swedes on the podium. It’s been a long time since that has happened in a slalom, perhaps since the 1980s, the era of Ingemar Stenmark.”
In the overall World Cup standings, Swiss skier Silvan Zurbriggen, only 30th in the race, missed out on taking over the lead from Austrian Michael Walchhofer.