Heat olive oil and butter in a large saucepan over medium heat. Add cumin seeds, cardamom pods, whole cloves, cinnamon stick, and bay leaf. Cook until spices start to sputter, about 1 minute. Stir in onion, ginger, and garlic. Cook and stir until onion is softened and just starting to brown, about 5 minutes.
Stir in diced tomatoes, coriander, turmeric, cumin, garam masala, cayenne, and salt. Bring mixture to a gentle simmer; add yogurt and stir well. Add frozen vegetable balls. Pour in hot water to thin sauce slightly to desired consistency. Bring mixture back to a simmer and cook, covered, until sauce is thickened and vegetable balls are heated through, 10 to 15 minutes.