Svindal, starting 13th, charged down the course in one minute 57 seconds to win by 0.59 seconds from his compatriot Kjetil Jansrud while Austria's Max Franz was third.
The 34-year-old, overall World Cup champion in 2007 and 2009, finished third in Lake Louise and won in Beaver Creek in this season's previous downhills despite suffering the after-effects of major knee surgery in January.
Svindal said his knee was still restricting the amount of training he could do.
"It was a good run and I'm getting better all the time... I was just trying not to think about it and concentrate on the race," he told Swiss television. "On Monday and Tuesday, I wasn't sure if I was going to be able to race."
(Writing by Brian Homewood in Bern, editing by Pritha Sarkar)
