In a large bowl, whisk together lemon juice, cornstarch, cumin, ½ teaspoon turmeric, ½ teaspoon garam masala, and ½ teaspoon salt. Set aside.
Heat 1 tablespoon olive oil in a large skillet over medium-high heat. Add cauliflower florets and cook, tossing occasionally, until lightly browned and starting to soften, about 7–8 minutes.
Reduce heat to medium. Transfer cauliflower to the bowl with the cornstarch mixture and toss until coated. Return cauliflower to the skillet and cook another 7–8 minutes, until tender with lightly crisp edges. Remove and set aside.
In the same skillet, add the remaining olive oil and butter. Stir in the onion and cook until soft and translucent, about 8 minutes.
Add garlic, ginger, and tomato paste. Cook for 2 minutes, stirring constantly.
Stir in the remaining turmeric, garam masala, salt, paprika, cinnamon, and cayenne. Cook for 1 minute to bloom the spices.
Pour in tomato sauce and vegetable broth. Bring to a gentle boil, then reduce to a simmer. Stir in the cream.
Return the cauliflower to the skillet and simmer uncovered for about 15 minutes, until the sauce thickens and coats the cauliflower.
Serve warm over rice and garnish with fresh cilantro and a spoonful of yogurt.