Heat olive oil in a large pan over medium heat. Add the onion and sauté until soft and translucent, about 5 minutes.
Add garlic and ginger, cooking for another minute until fragrant.
Stir in the sweet potatoes and cook for about 5 minutes, stirring occasionally.
Add the mushrooms, curry powder, turmeric, cumin, and chili powder. Cook for another 5 minutes.
Pour in the coconut milk, diced tomatoes, and vegetable broth. Stir to combine, then bring to a simmer.
Cover and cook for 25-30 minutes, or until sweet potatoes are tender.
Season with salt and pepper to taste, and garnish with fresh cilantro before serving.