Defar pulled away on the last lap, easily outkicking world record holder and home favourite Liliya Shobukhova.
The Russian, who set the world mark of 8:27.86 at last month's national championships in Moscow, led for much of the 15-lap race at the Olympic sports complex but faded in the last 400 metres to finish a distant second in 8:42.18.
Poland's European indoor champion Lidia Chojecka put in a strong finishing lap to grab bronze in 8:42.59 ahead of Ethiopian Sentayehu Ejigu.
Russia's Olesya Syreva, who ran 8:29.00 -- the world's second fastest time -- in Moscow last month, finished fifth, more than 15 seconds slower than her best.
Defar
"My form is good. My speed is natural," the slight Ethiopian told reporters. "I've been training hard for that. I like running indoors very much."
The Russians were using team tactics, with Syreva in the lead and Shobukhova just behind her at the opening 1,000 metres, before the world record holder moved ahead of her team mate.
But they had no answer to Defar's late surge.
"It's a pity that I didn't win but I did everything I could," said a disappointed Shobukhova, adding that she felt pressure competing on home soil.
"Certainly I was worried, this is the world championships."
Bronze medallist Chojecka said: "It's a big surprise for me. I couldn't compete well last year because of surgery on my foot in June and I couldn't train for four months."