
A complete Gujarati thali balances all six tastes — sweet, salty, sour, spicy, bitter, and astringent — across twelve dishes that are designed to be made together. This guide covers every component from tuvar dal to churma ladoo, with timings, ratios, and the sequencing that makes the whole spread manageable at home.
A complete Gujarati thali typically includes dal, kadhi, 2-3 shaaks (vegetable dishes), rotli, thepla, rice, khichdi, salad, chaas, pickle, and a sweet — all balancing the classic Gujarati sweet-sour-spicy flavor profile. Most components can be prepped the night before, making same-day assembly much easier.
Before we get into the individual recipes, it’s worth understanding something central to this cuisine. Gujarati cuisine has a very specific philosophy: every meal should balance all six rasas (tastes) — sweet, salty, sour, spicy, bitter, and astringent. This is why jaggery goes into everything — not because Gujaratis have a sweet tooth (well, okay, a little), but because sweetness balances the other flavors into something harmonious and complete.
The thali format itself ensures you’re eating all these flavors simultaneously — a bite of tangy dal, a spoonful of sweet-sour kadhi, a piece of spiced shaak, all mopped up with a ghee-slathered rotli. That combination is the whole point. Don’t eat each dish in isolation — mix, combine, let the flavors talk to each other on your plate.
Here’s what a traditional Gujarati thali includes. Some versions have even more dishes, but this is the everyday version that serves as the gold standard:
See the detailed Gujarati dal recipe here if you want a dedicated deep-dive into just the dal, or check out our soft methi thepla recipe for a standalone guide.
Most of these ingredients are easy to find in any Indian grocery store. For those cooking in the UK, USA, Australia, or Canada — almost everything below is available on Amazon or at any South Asian grocery store. A few notes for the diaspora:
Start with items that take the longest. Soak tuvar dal for 20-30 minutes while you prep vegetables, roll theplas, and knead rotli dough. This planning step will save a lot of stress — the dal needs to be pressure-cooked and simmered well before the rotlis are ready to serve.
Pressure cook soaked tuvar dal with turmeric and 2 cups water for 3-4 whistles until completely soft and mashable. Whisk the cooked dal until smooth — don’t skip the whisking, it gives the dal that characteristic silky consistency. In a separate pan, heat ghee and add mustard seeds — let them splutter properly before adding anything else. Add cumin, dried red chillies, curry leaves, and hing. Pour this tempering into the dal along with jaggery, tamarind pulp, coriander-cumin powder, and salt. Simmer together for 10 minutes. Taste it — it should hit you with sweet, tangy, and warmly spiced all at once. That balance IS the Gujarati dal recipe. Garnish generously with fresh coriander.
Whisk together yogurt, besan, and water until there are absolutely NO lumps — this step is crucial, or your kadhi will be grainy. Add turmeric, salt, and jaggery to the mixture. Pour into a heavy-bottomed pot and cook on medium heat, stirring constantly in one direction — this prevents the kadhi from breaking. Cook until it just starts to boil, then reduce heat and simmer 15-20 minutes. In a small pan, heat ghee and prepare the tadka: mustard seeds, cumin, fenugreek seeds, dried red chillies, curry leaves, and grated ginger. Pour the sizzling tadka over the simmering kadhi. It should be slightly sweet, silky, and gently tangy — nothing like the thick North Indian kadhi pakora.
Mix wheat flour, besan, finely chopped fresh methi, turmeric, chilli powder, sesame seeds, salt, and a teaspoon of oil. Gradually add water and knead into a semi-soft dough — slightly softer than rotli dough. Divide into balls and roll thin. Cook on a hot tawa on both sides with a little oil until golden spots appear. Stack them immediately after cooking — they stay soft this way and don’t dry out. I know purists will argue about whether oil or ghee is traditional here, but a thin smear of oil works perfectly.
Knead atta with a pinch of salt and warm water until very smooth and soft — softer than you think is necessary. Let it rest 20 minutes covered with a damp cloth. Roll into thin rounds and cook on a hot tawa. Rotlis traditionally puff up directly on the flame — if yours don’t puff, it usually means either the dough isn’t soft enough or the tawa wasn’t hot enough. Smear generously with ghee while still hot.
Heat oil in a pan, add mustard seeds and let them pop enthusiastically. Add hing, then boiled diced potatoes. Sprinkle turmeric, red chilli powder, coriander-cumin powder, sesame seeds, salt, and sugar. Toss well on medium heat for 5-6 minutes until potatoes are lightly golden at the edges. Finish with a squeeze of lemon and lots of fresh coriander. Simple, humble, and absolutely essential on every Gujarati thali.
Mix all muthia ingredients into a stiff dough. Shape into small cylindrical rolls about the size of your palm. Steam for 20-25 minutes until a toothpick inserted in the center comes out clean. Let cool slightly, then slice into rounds about half a centimeter thick. Heat oil, add mustard seeds and sesame seeds and let them pop, add hing, then slide in the sliced muthias. Toss gently on medium heat until they’re lightly golden and fragrant. Garnish with fresh coconut and coriander if you have them.
Cook plain steamed rice your usual way. For khichdi — heat ghee in a pressure cooker, add cumin seeds and wait for them to sizzle, add hing, then washed rice and moong dal, turmeric, and salt. Add 3.5 cups water and pressure cook for 2 whistles. It should be soft, slightly mushy, and comforting — that texture is the whole point of khichdi.
Finely dice cucumber, tomato, and onion. Toss with lemon juice, salt, a pinch of chilli powder, and lots of fresh coriander. Pop it in the fridge. The coolness of kachumber against the warm dishes is one of those details that makes a Gujarati thali feel complete.
Blend yogurt with cold water until frothy — a hand blender works beautifully for this. Stir in roasted cumin powder, black salt, chopped fresh mint, and grated ginger. Taste and adjust. Refrigerate in a jug. Chaas is THE drink of the Gujarati meal — it’s cooling, digestive, and ties the whole meal together.
If using fresh Alphonso mangoes, peel, scoop the pulp, and blend with a pinch of cardamom and a few saffron strands soaked in warm milk until silky smooth. Taste — good Alphonsos need very little extra sugar. Refrigerate until serving. For shrikhand, hang thick yogurt in muslin for 2 hours, then beat with powdered sugar, cardamom, and saffron until smooth and creamy.
Roast coarse wheat flour in ghee on the lowest heat you can manage until it turns golden and smells gloriously nutty — this takes 15-20 minutes and you cannot rush it without burning. Take off heat, add powdered jaggery, cardamom, and chopped nuts. Mix well while still warm. While the mixture is still warm enough to hold shape but cool enough to touch, roll into ladoos. They’ll firm up beautifully as they cool.
Skip potatoes (and all root vegetables) in the shaaks and replace with ridge gourd (turia), raw banana, or cluster beans. Skip onion in the kachumber. The dal, kadhi, thepla (without onion), khichdi, and sweets all remain the same. Jain Gujarati food is actually incredibly well-developed — some of the best Gujarati restaurants in Ahmedabad are Jain-run.
Gujarati food is already largely no-garlic by tradition (unlike Punjabi food), and the shaaks work beautifully without onion too. Simply skip onion in the kachumber and shaaks — increase the hing slightly to compensate for depth of flavor.
Replace dairy yogurt with coconut yogurt in the kadhi (it works surprisingly well and adds a subtle coconut note that’s actually quite pleasant). Use oil instead of ghee for the tadkas. For shrikhand, blend soaked cashews with sugar and cardamom as a vegan alternative. The rest of the thali is already naturally vegan.
Replace wheat flour in theplas and muthias with jowar (sorghum) flour — it works remarkably well. The rotlis can be made with jowar or bajra flour. Check that your asafoetida is gluten-free (some commercial brands use wheat flour as a filler). The dal, kadhi, shaaks, rice, and sweets are already naturally gluten-free. Check out our guide to gluten-free Indian flatbreads for more tips.
A full Gujarati thali is complete in itself, but these accompaniments make it feel extra special:
Here’s one of the best things about gujarati thali recipes — most components store and reheat beautifully:
For detailed guidance on the nutritional benefits of the ingredients in this thali — particularly the gut-healthy chaas and protein-rich dal — Healthline’s overview of fermented and probiotic foods is worth a read.
Absolutely yes — and honestly, most Gujarati home cooks do exactly this! The dal, kadhi, muthias, and churma can all be made the night before. Theplas also stay good for 2-3 days at room temperature. On the day, you just need to reheat the dal and kadhi, make fresh rotlis, and put together the kachumber and chaas. This split preparation makes the whole thali feel very manageable and far less stressful.
The big difference is the sweet-sour-spicy balance that defines Gujarati cooking. Regular toor dal tadka is mostly savory. The Gujarati dal recipe deliberately uses jaggery for sweetness and tamarind (or kokum) for tang — creating that signature flavor that’s almost like a warm hug in a bowl. Some families also add tomatoes, peanuts, or raw mango depending on the season. No two Gujarati households make their dal quite the same way, and that’s exactly how it should be.
This is a very common kadhi problem and it almost always comes down to two things: not enough besan (gram flour acts as a stabilizer), and heating it too fast. Make sure your yogurt-besan-water mixture is completely lump-free before you even put it on the stove. Then cook on medium heat only, stirring constantly in one direction, until it just starts to boil. After that, reduce to a gentle simmer. Never cover the kadhi while cooking, and never walk away from it during the initial heating phase.
For those cooking outside India — brown sugar is the most accessible substitute and works well in most Gujarati dishes. Use it in a roughly 1:1 ratio but taste as you go since jaggery has a more complex, molasses-like flavor. Coconut sugar also works beautifully. Avoid white granulated sugar — it gives a flat, one-dimensional sweetness that doesn’t replicate that warm, rounded quality that jaggery brings. Many Indian grocery stores abroad, and even Amazon, now stock jaggery powder which is very easy to work with.
Most dishes in a Gujarati thali are already plant-based — the shaaks, theplas, dal, rice, and salad need no modifications. The main non-vegan elements are kadhi (uses dairy yogurt), ghee on rotlis, and shrikhand. To make a fully vegan Gujarati thali, swap dairy yogurt for coconut yogurt in the kadhi, use oil instead of ghee on rotlis, and serve extra aamras instead of shrikhand. The result is still an incredibly satisfying and complete meal that honors the spirit of the cuisine beautifully.