In a large saucepan over high heat, melt butter and olive oil. Add shallots, jalapenos and ginger and saute for 2 minutes. Add curry powder, cumin, coriander, salt and cayenne. Stir constantly for one minute.
Stir in tomato paste and continue to cook for 1 minute. Stir in potatoes. Lower heat to medium, cover and cook for 5 minutes, stirring occasionally.
Add chicken broth and cauliflower florets. Bring to a boil. Partially cover and reduce heat to medium-low. Simmer for 6-8 minutes or until potatoes soften. Reduce heat to low.
In a small bowl, whisk together cornstarch and water. Whisk mixture into the 2 cups buttermilk.
Stir the buttermilk into the vegetable mixture. and continue to cook for 3-4 minutes.
Stir in the spinach in small handfuls and cook just until wilted. 1-2 minutes.
Remove from heat and serve over long-grain rice if desired.