Add the onion, garlic, ginger, and ¼ cup of water to a blender or food processor and pulse until a thick paste is formed.
Heat a wok or large nonstick pan over medium heat. When the pan is hot add the oil and tilt to cover the inside of the pan with the oil.
Add the onion mixture to the pan and cook, stirring occasionally, until lightly browned, about 7 minutes.
Add the mushrooms to the pan and cook, stirring occasionally, until mushrooms begin to brown, about 5 minutes.
Add the tomato puree, ancho powder, cayenne, turmeric, garam masala, and ½ tsp salt to the pan and stir to combine.
Reduce heat to low and simmer, stirring occasionally, about 5 minutes. Season with salt and pepper if necessary.
Garnish with fresh cilantro and serve with rice and/or roti.
