Upma is a beloved South Indian breakfast made with semolina, but semolina is basically carb central — not exactly keto-friendly. The good news is that cauliflower rice steps in as a brilliant substitute, giving you that same comforting, savoury, slightly crumbly texture without the carb load. This keto cauliflower upma keeps all the flavours that make the original so good: mustard seeds popping in hot oil, curry leaves releasing their aroma, green chillies adding a gentle kick, and a squeeze of fresh lemon pulling everything together. At just 5g net carbs per serving, you can enjoy a generous bowlful and still stay well within your daily limits. If you grew up eating upma or if you're new to Indian breakfast dishes, this recipe is a delicious way to keep tradition alive on a vegetarian keto diet.
Why This Works on Keto
Cauliflower rice has about 3g net carbs per 100g, compared to semolina's 70g+ per 100g — that's a massive difference. By using cauliflower as the base, you keep the satisfying, grain-like texture of traditional upma while slashing the carbs dramatically. The tempering of spices in ghee adds both flavour and healthy fats. Peanuts or cashews from the traditional recipe are replaced with a generous amount of shredded coconut for texture without pushing carb counts.
Ingredients
- 400g cauliflower rice (about 1 medium head, grated or pulsed in a food processor)
- 2 tbsp ghee (or coconut oil for dairy-free)
- 1 tsp black mustard seeds
- 1 tsp cumin seeds
- 10-12 fresh curry leaves
- 2 green chillies, slit lengthwise (adjust to taste)
- 1 medium onion (about 80g), finely diced
- 1 small carrot (about 50g), finely diced
- 50g green peas (fresh or frozen)
- 30g unsweetened shredded coconut
- 1/2 tsp ground turmeric
- 1/2 tsp salt (or to taste)
- Juice of 1/2 lemon
- 2 tbsp fresh cilantro, chopped
Instructions
- If using a whole cauliflower, cut it into florets and pulse in a food processor until it resembles coarse rice grains. Don't over-process — you want texture, not mush. Alternatively, use pre-riced cauliflower from the store.
- Heat the ghee in a large, deep skillet or kadhai over medium heat. Once hot, add the mustard seeds and wait for them to start popping — this takes about 30 seconds.
- Add the cumin seeds, curry leaves, and slit green chillies. Let them sizzle for about 15 seconds, stirring constantly. The curry leaves will splutter, so be careful.
- Add the diced onion and cook for 3-4 minutes, stirring occasionally, until translucent and just beginning to turn golden.
- Add the diced carrot and green peas. Cook for 2-3 minutes until they start to soften.
- Add the cauliflower rice and turmeric. Stir well to combine everything and coat the cauliflower in the spiced oil.
- Cook uncovered for 5-6 minutes, stirring frequently. The cauliflower should be tender but still have some bite — not soggy. If it starts sticking, add a splash of water.
- Remove from heat. Stir in the shredded coconut, lemon juice, and salt. Taste and adjust the seasoning.
- Garnish with fresh cilantro and serve hot.
Tips & Variations
The key to good cauliflower upma is not overcooking the cauliflower — it should be tender but still have some pleasant texture. Squeezing excess moisture from the riced cauliflower in a clean towel before cooking will help avoid a soggy result. For extra protein, scramble an egg or two directly into the upma in the last minute of cooking. You can also add diced paneer (about 50g per serving) for a richer, more filling version. Leftovers keep in the fridge for 2 days — reheat in a dry pan over medium heat.