
My nani had a rhythm to her Sundays that I could map with my eyes closed. The dhak dhak of the belan on the chakla at 8 AM. The sharp hiss of mustard seeds hitting hot ghee at 10. And by noon — there it was. A full gujarati thali laid out on the floor of her tiny Ahmedabad kitchen, on a patla, with all of us sitting cross-legged around it. I’ve never eaten anything that made me feel more at home before or since.
I’ve been making gujarati thali recipes in my own kitchen for over fifteen years now, and I still get that same feeling every single time the entire spread comes together. I know it looks intimidating — twelve dishes feels like a lot — but I promise you, once you understand the rhythm of a Gujarati meal, it all clicks into place. These dishes were designed to be made together. They share spices, share cooking methods, and most importantly, share that distinctive Gujarati flavor — that perfect dance of meetha, khatta, teekhaa (sweet, sour, spicy) that no other Indian cuisine does quite the same way.
This post is everything I know about putting together a complete Gujarati thali at home — 12 classic dishes from tuvar dal to churma ladoo, with all the tips my nani never wrote down but somehow I absorbed by watching her cook. Whether you’re Gujarati and missing home food, or you’re curious about this extraordinary cuisine for the first time, let’s make something beautiful today.
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, I want to explain something that took me years to fully understand. 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, we do 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. I know some versions have even more dishes — my nani’s thali during Diwali had easily 18-20 items — but this is the everyday version that I consider 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 of you 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 you a LOT of stress — trust me, I learned this the hard way when I tried to make my first full thali and the dal was still in the pressure cooker when the rotlis were getting cold.
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 and that’s a disaster we want to avoid. 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 is an old trick my mother taught me, it 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 in my house we use a thin smear of oil and it 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. The ghee is non-negotiable in this house.
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 and I judge any thali that doesn’t include it. It’s cooling, digestive, and ties the whole meal together.
If using fresh Alphonso mangoes (and if you can get them, please do — they’re absolutely worth it), 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 the most 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 the diaspora 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.