Heat oil in a large pot over medium heat. Add onion, ginger, and garlic. Cook for 5-6 minutes or until the onions begin to brown slightly.
Add tomatoes, curry powder, cayenne, salt, and sugar. Mix well and bring to a simmer. Cook for about 7-8 minutes or until the sauce thickens slightly.
Gradually add whisked yogurt to the pot. Continue stirring until it is fully incorporated. Reduce the heat and let it cook for 3-4 minutes.
Add butter beans and simmer for 3-4 minutes. Next, add the spinach and cook for a few minutes, or until it wilts. Turn off the heat and garnish with cilantro before serving.
Notes
My recipe gives you a dish with minimal curry sauce. If you want the dish to have a saucy consistency, add 3 cups of water or vegetable stock before adding the beans.
Before adding the yogurt, make sure it is whisked well and there are no lumps. This is important to prevent the yogurt from curdling.
You can adjust the level of heat by adding more or less cayenne pepper or red chili flakes. For a smoky flavor, try adding a pinch of smoked paprika.