2 tablespoons peanut oil
1 tablespoon margarine
1 large onion, chopped
1 tablespoon minced fresh ginger root
2 tablespoons minced garlic
1 teaspoon ground cinnamon
1 teaspoon ground black pepper
2 tablespoons ground coriander
2 tablespoons ground cumin
1/4 teaspoon ground turmeric
1 teaspoon cayenne pepper
2 serrano chile peppers, seeded
1/2 cup fresh cilantro
1/2 cup yogurt, whisked until smooth
3 cups water
Heat oil and margarine in a small skillet over medium high heat. Add onion and saute until very brown, around 10 to 15 minutes. Make sure they are very brown or the sauce will not taste right.
Add ginger and garlic to onion and saute for an additional 2 minutes. Place the onion/ginger/garlic mixture in food processor until smooth. Do not wash out the food processor yet.
Place onion mixture in a large saucepan. Stir in the cinnamon, black pepper, coriander, cumin, turmeric and cayenne pepper and cook over low heat until mixture is thick and has the consistency of a paste.
Puree tomatoes, chile peppers and cilantro in food processor until smooth. Add to onion mixture and stir well over low heat, cooking off moisture from tomatoes and cilantro. Add yogurt a little bit at a time, stirring constantly to avoid curdling.
Blend the whole mixture in food processor to puree it (for a very smooth sauce). Return to saucepan, add water and increase heat to high; bring sauce to a rolling boil. Cover saucepan and boil for 3 to 5 minutes. Reduce heat and simmer until desired consistency is reached.