Heat a large saucepan. Add the onions and stir. When the onions start looking dry, add ¼ cup of water and cook until the mixture dries up. Keep adding a couple of tablespoons of water each time the onions dry and start to stick, stirring at frequent intervals, until the onions become golden-brown. Like I said earlier, this took me more than an hour on medium heat, but don't skip this step and hurry to add other ingredients because the roasted onions add a lot of flavor.
Now add the tomato paste, ginger and garlic and cook, stirring frequently, about 2-3 minutes.
Add the Berbere, ½ cup of water, and the Niter Kibbeh. Stir to mix and bring the mixture to a boil.
Add the mushrooms and tempeh and stir well. Bring the sauce to a boil (add more water if the mixture is very dry), slap a lid on, lower the heat to simmer, and let the mixture cook about 15-20 minutes.
Add the white wine, if you're using it, and simmer for another 10 minutes. If you're not adding wine, skip this step.
Serve hot over rice or with some crusty bread. Tip: This tastes even better when you've allowed it to stand for a few hours, or overnight, to let the flavors meld together.