Combine lemon juice, corn starch, cumin, and half a teaspoon each of turmeric, garam masala, and salt in a large bowl.
Heat one tablespoon of olive oil in a large skillet over medium-high heat. Add the cauliflower florets and cook until browned and just starting to soften, about 7-8 minutes. Transfer the seasoned cauliflower back to the skillet.
In the same skillet, add another tablespoon of oil along with butter and let it melt. Stir in chopped onions and cook until translucent, about 8 minutes. Add garlic, ginger, and tomato paste; cook for 2 minutes.
Mix in the remaining turmeric, garam masala, salt, paprika, cinnamon, and cayenne pepper. Cook for a minute to bloom the spices.
Pour in tomato sauce and vegetable broth; bring to a boil before reducing to a simmer. Stir in cream substitute and return cauliflower to the skillet. Simmer uncovered until sauce thickens, about 15 minutes.
Garnish with fresh cilantro and serve over basmati rice with a dollop of Greek yogurt if desired.