Melt the butter in a large soup pot or skillet with high sides (or heat olive oil if using olive oil). Add the diced onion and grated ginger and stir fry for 5 minutes. Add the chicken, diced potato, and berbere seasoning, stir to coat. Add the chicken broth, bring to a boil, then reduce heat and simmer without a cover for about 40 minutes, or until the sauce has reduced.
Add the diced bell pepper, stir, and continue to cook for about 5 minutes. Add in the baby spinach, stir, and remove from heat.
Garnish with chopped cilantro leaves and serve over rice, amaranth, quinoa, or bulgur, or with pieces of fresh injera.
If your spice tolerance is low, I recommend substituting paprika for a portion of the berbere. It will still give this dish a delicious flavor and color, but without as much heat. This dish is spicy!