Shiffrin saw her 144-point lead over Hansdotter in the slalom standings reduced to 80 points, 438 to 358. Marlies Schild is third with 325 points.
The event was moved from Maribor because of a lack of snow there, but the Podkoren course in Kranjska Gora had been softened by days of rain and snowfall. The unfavorable weather conditions forced organizers to cancel a GS on the same course Saturday.
"To ski that good when conditions are so hard is great," Hansdotter said. "Normally I am not at my best on soft snow. On a course like this, you can only just go for it."
Marlies Schild, a four-time World Cup slalom champion, called it a "run in hell."
"It made me nervous," the Austrian said. "The next race is at the Olympics, I am now really fired up for that."
Shiffrin overcame the tough conditions earlier to post the fastest first-run time. The 18-year-old slalom world champion was chasing her third straight win and fourth of the season.
"It was not great conditions but it was better conditions for me than for the girls coming down later," Shiffrin said, who was the third starter in the opening run. The American had one mistake in the steep middle section but quickly recovered.
Olympic slalom champion Maria Hoefl-Riesch, who leads the overall standings, came 2.25 back in 23rd and criticized the conditions.