Indian Restaurant Menu: How to Structure, Price, and Build One That Profits
Social posts for this article
An Indian restaurant menu looks like a hundred different curries. Page after page of chicken, lamb, paneer, and prawn crossed with korma, tikka masala, saag, vindaloo, jalfrezi, and madras, plus biryanis, breads, starters, and a buffet. It reads like a kitchen that buys everything and preps all day. The good ones do almost the opposite. They cook one neutral base gravy fresh each morning and finish every curry to order from it, so a menu that looks like endless variety runs on a short shopping list. That base gravy is the first thing that makes an Indian menu profitable. The second is that the vegetarian dishes quietly keep the most margin of anything on the page. The third is that the rice, the naan, and the starters ride along on nearly every order, and the lunch buffet fills the hours that would otherwise sit empty.
This guide covers how to organize an Indian menu, why the base gravy is the real margin engine, why the vegetarian section is your most profitable real estate, how to price by protein tier instead of dish by dish, and how to keep a long menu accurate everywhere a guest looks. The pricing discipline overlaps with the broader menu design and engineering guide, but Indian food rewards one habit more than almost any cuisine: building the whole menu out of a small base you take in many directions.
TL;DR
- One base gravy is the engine. Onions, tomatoes, ginger, garlic, and oil cooked down each morning becomes the foundation for most of the curries. Finish it to order with different spices and a protein and six finishes across five proteins is thirty dishes from one pot.
- The vegetarian dishes keep the most. A lentil dal costs about 40 cents and sells for $10 to $11. Chana masala is about the same. Paneer is cheaper per pound than any meat you buy, so saag paneer clears a margin a lamb dish cannot.
- Rice, naan, and starters carry the check. A basket of naan is roughly 35 cents in flour and sells for $4. Basmati rice is pennies. Samosas and pakoras cost almost nothing and attach to most tables.
- The lunch buffet or thali is the midday volume engine. A controlled per-head cost at a friendly fixed price fills your slowest hours with steady covers.
- A long menu drifts out of sync fast. Protein tiers, a market-price seafood special, an 86’d goat curry. When you change one, the QR menu, the to-go PDF, Google, and the delivery apps all need to match, and doing that by hand is why most are wrong somewhere.
How should an Indian restaurant menu be organized?
An Indian menu reads best when it groups dishes by course and format, then lets the proteins repeat inside each curry style. Most strong menus carry the same blocks, roughly top to bottom:
- Starters. Samosas, pakoras, onion bhaji, chicken tikka, seekh kebab, papadum with chutneys. High margin, built to attach to every table, and the first chance to grow the check.
- Tandoori and grill. Tandoori chicken, tikka, tangri kebab, a mixed grill. These double as starters and mains, and the marinated proteins cross into the curries.
- Signature and chef specials. The showpieces: a whole tandoori fish, a slow lamb shank, a biryani built to order, a regional dish you are known for. Bigger ticket, lower volume, reputation builders.
- The curry sections. This is the engine. Group by style (korma, tikka masala, saag, vindaloo, jalfrezi, madras, bhuna) and let the guest pick the protein, or group by protein with the styles listed under each. Either way, the same base gravy is doing most of the work.
- Vegetarian and paneer. Dal, chana masala, saag paneer, aloo gobi, paneer tikka masala, malai kofta. The highest-margin food on the page because the protein cost is small or absent.
- Rice and biryani. Basmati, jeera rice, pilau, and the biryanis. Cheap to make, easy to attach, and the biryani is a full meal that eats like a special.
- Breads. Naan (plain, garlic, butter, cheese, keema), roti, paratha. Pennies in flour, a near-universal add, and one of the easiest upsells on the menu.
- Sides, chutneys, and drinks. Raita, pickle, mango lassi, masala chai, soft drinks. Small adds that round out the check.
The grouping matters more than the item count. The same tandoori chicken appears in the starter, the mixed grill, the tikka masala, and the biryani, and presenting it four ways lets one marinated protein serve four price points and four kinds of appetite.
Why the base gravy is the margin engine
Here is the habit that separates a profitable Indian kitchen from an expensive one. Most of the curries are not separate recipes. They are one neutral base gravy, onions and tomatoes and ginger and garlic cooked down slowly, finished to order with that dish’s spice blend, cream or coconut, and a protein. Make the base once in the morning and the line becomes assembly: ladle the base, hit it with the korma or the vindaloo spicing, add the chicken or the paneer, finish, plate.
The economics are hard to beat. Buy a few proteins, a vegetable or two, lentils, paneer, rice, and flour, plus the spices you already stock. Cook the base gravy and marinate the tandoori proteins once a day. Every curry is an assembly, so the line moves fast and the ingredient list stays short. A chicken tikka masala is maybe 3 ounces of chicken (about 65 cents), a ladle of base with cream and cashew (about 55 cents), and spice (pennies): roughly $1.25 of food cost on a plate that sells for $16, a food cost near 8%.
The base gravy also attacks the number that quietly wrecks kitchens: waste. A menu with eighty single-use recipes would mean eighty things that can spoil or get prepped wrong. A menu built from one base and a short protein list means almost everything on the shelf has a dozen places to go, so you order tighter and throw out far less. The full playbook is in reduce food waste on your restaurant menu. And if a long menu makes you nervous, this is exactly why it can work when the structure is right: the honest question of how many items a menu should have is really about how many distinct ingredients you carry, not how many lines you print.
Why the vegetarian section keeps the most margin
The most profitable curries on an Indian menu usually have no meat in them. Lentils and chickpeas cost almost nothing, spinach is cheap, and paneer runs well under the price per pound of chicken, lamb, or prawn. Yet guests pay nearly entree prices for a dal or a saag paneer because the dish is substantial, the flavor is the draw, and vegetarian and vegan guests order it gladly. That combination, low cost and real willingness to pay, is where the margin lives.
Read the slivers of terracotta. A dal tadka carries maybe 40 cents of lentils and base against a $10 plate. Chana masala is about the same. Even saag paneer, with real paneer in it, lands near $1.30 against a $14 price. The lamb dish earns good dollars, but it also costs you more than six times what the dal does. The lesson is not to drop the meat curries, guests want them, but to give the vegetarian dishes room, good names, and honest descriptions, because every one you sell is close to pure margin. The language matters as much as the price: “dal tadka” is a line item, “dal tadka, yellow lentils tempered with cumin, garlic, and ghee” is a reason to order. The full approach is in menu descriptions that sell.
The rice, naan, and starters carry the check
The most reliable margin on an Indian menu is not the curry at all. It is the breads, the rice, and the starters, and almost every table takes several.
Naan is the clearest example. A plain naan is flour, yogurt, a little ghee, maybe 35 cents, cooked on a tandoor wall you already have hot. It sells for $3 to $4, and garlic, butter, or cheese naan sells for more against pennies of extra cost. Basmati rice is pennies a portion and sells for $3 to $4 as a side. Samosas and pakoras run well under a dollar to make and sell for $5 to $7. Papadum with chutney costs almost nothing and gets a table ordering before the mains arrive. None of these feel like an upsell, because the guest came out for exactly this kind of meal and expects to share bread and rice around the table.
The move is to make sure every order has a reason to add bread, rice, and a starter, because that is where a $16 curry becomes a $30-a-head table. A guest who orders one curry and nothing else is rare; a guest who orders a curry, a naan, a side of rice, and splits a plate of samosas is the norm, and three of those four lines are near pure margin. Lifting that attach rate is worth more than any single price change on the curries, and the broader playbook is in how to increase average check size.
How does the lunch buffet make money?
The lunch buffet, or a fixed-price thali, is the Indian menu’s volume engine, the same role the lunch combo plays at a takeout spot. A spread of a few curries (lean heavily on the cheap vegetarian ones), rice, naan, a salad, and a dessert, at a single friendly price, fills your slowest hours with steady covers. To the guest it reads as abundance and value. To you it holds margin, because the dishes that make it look generous, the dal, the chana, the rice, the bread, cost almost nothing per head.
Run the math. If your per-head food cost on the buffet is around $4.50 and you price it at $14, you are holding a food cost near 32% on covers that would otherwise not be in the building, and the vegetarian-heavy spread keeps that cost down while still looking full. The discipline is to price the buffet on purpose and build it from your highest-margin dishes, not to load it with the lamb and prawn that bleed the number. The buffet works for the same reason bundles work everywhere: you anchor a fixed price with cheap, high-margin items so the whole thing feels generous while you protect the plate cost. The general method is in menu bundling strategy.
How do you price an Indian menu?
Two pricing jobs matter most: pricing the curries by protein tier, and pricing the showpieces on contribution margin.
Price the curries as tiers, not dish by dish. Because they share a base gravy, their food costs cluster by protein, so you can set clean tiers: vegetarian and paneer at one price, chicken a step up, lamb, goat, and prawn a step above that. The korma, the tikka masala, and the vindaloo in a given tier cost you within pennies of each other, so there is no reason to nickel-and-dime each sauce. A guest barely registers the difference between a $15 and a $16 chicken curry, and the two cost you the same, so price on what the room will happily pay. The full method is in how to price menu items.
Price the showpieces, a whole tandoori fish, a lamb shank, a seafood biryani, on contribution margin the way you would a steak, because those are the dishes where the expensive protein actually moves the number. They sell in low volume and build the reputation, so give them menu space and an honest price rather than burying them. The presentation side, price endings and anchoring the page with one high plate so the curries read as a deal, is covered in menu pricing psychology. And if a chunk of your business is takeout through third-party apps, remember those orders carry a 15 to 30% commission, so the price that works in the dining room loses money on the app unless you adjust it; the mechanics are in menu pricing for delivery apps.
A worked example
Here is a representative cross-section of an Indian menu over 30 days of service, built on the base gravy with the vegetarian dishes, breads, and buffet pulling their weight:
| Item | Units | Price | Portion cost | Margin | Role |
|---|---|---|---|---|---|
| Chicken tikka masala | 680 | $16 | $1.25 | $14.75 | Volume + signature |
| Lamb rogan josh | 310 | $19 | $3.20 | $15.80 | Higher tier |
| Saag paneer | 420 | $14 | $1.30 | $12.70 | Veg margin king |
| Dal tadka | 540 | $10 | $0.40 | $9.60 | Highest-margin curry |
| Chicken biryani | 460 | $17 | $2.10 | $14.90 | Eats like a special |
| Lunch buffet | 1,050 | $14 | $4.50 | $9.50 | Midday volume engine |
| Garlic naan | 1,600 | $4 | $0.45 | $3.55 | Attach bread |
| Samosa (2) | 880 | $6 | $0.70 | $5.30 | Check-builder starter |
Two things stand out. The lunch buffet is the single biggest line by volume, 1,050 covers a month, filling hours that would otherwise sit quiet at a plate cost you control. And look at the vegetarian line: dal tadka clears $9.60 of margin on 40 cents of food, close to pure profit, which is why it deserves a good name and real estate rather than a buried spot at the bottom of the veg section.
Now layer in the attach rate. If most tables add a naan and rice, and many split a starter, that is thousands of dollars of high-margin product each month sitting on top of the curries, from items the guest was glad to order. To decide which specific dishes earn the spotlight, run the sections through the menu engineering matrix, which sorts each item by how well it sells against how much it makes, and check your real plate costs with the food cost percentage calculator.
How do you keep a long Indian menu accurate everywhere?
This is where an Indian menu gets genuinely hard, and it is the problem the length creates. Dozens of curries across protein tiers, a buffet price that changes, a market-price seafood special, a goat curry you 86 on a busy Saturday. Every one of those has to reach every place a guest looks, or you lose the order that came in off a price you changed three months ago.
The trap is that most restaurants keep their menu in five or six disconnected places: the printed menu, the QR menu, the PDF on the website, the menu on their Google listing, and the menus on two or three delivery apps. Keeping a long menu current by hand across all of those is a chore nobody sustains, so the versions drift apart and the guest finds the wrong price at checkout. The buffet price is the classic offender: it changes, the printed board gets updated, and the website and Google still show last year’s number. If you want the mechanics of 86ing an item and why consistency matters, see what “86” means in a restaurant.
The fix is one source of truth that feeds everywhere. VisibleMenus turns a photo of your menu into a hosted QR menu, a printable to-go PDF, and a Google menu that stays in sync, and it pushes the same menu to Apple Business Connect as part of the same update, so bumping the chicken tier by a dollar or marking tonight’s goat sold out is one edit instead of six. Change it once and the table QR, the to-go sheet, and both map listings say the same thing the same afternoon. Why that consistency is worth so much is covered in keeping your menu accurate everywhere.
FAQ
How should an Indian restaurant menu be organized?
Group dishes by course and format, then let the proteins repeat inside each curry style: starters (samosas, pakoras, chicken tikka), tandoori and grill, signature specials, the curry sections (korma, tikka masala, saag, vindaloo, jalfrezi) by style or by protein, then vegetarian and paneer, rice and biryani, breads, and finally sides, chutneys, and drinks. The sequence tells the guest how to order and lets one marinated protein appear in the starter, the mixed grill, the curry, and the biryani.
Why are Indian menus so long?
Because the length is combinatorial, not ingredient-heavy. Most of the curries are one base gravy finished to order with different spices and a protein, so a handful of curry styles crossed with a handful of proteins produces dozens of plates from a short shopping list. The long list reads as variety to the guest while the kitchen stays lean, which is the whole reason the format works.
What is the most profitable dish on an Indian menu?
Usually the vegetarian curries and the breads. A lentil dal costs about 40 cents and sells for $10 to $11, chana masala is about the same, and paneer is cheaper per pound than any meat, so saag paneer clears a fat margin. Naan is roughly 35 cents in flour and sells for $3 to $4, and rice is pennies. These ride on nearly every order, which is why the breads, rice, and veg dishes carry the check more than the meat curries do.
How do I price an Indian lunch buffet?
Price the buffet on purpose as deliberate value for the midday guest, and build it from your highest-margin dishes. A vegetarian-heavy spread with rice and naan might cost around $4.50 per head; price it near $14 and you hold a food cost near 32% on covers that would otherwise not be in the building. Load it with dal, chana, and rice rather than lamb and prawn, and let the cheap, generous-looking dishes do the work.
How do I keep a long Indian menu current across Google and the delivery apps?
Use one menu that pushes to your QR code, your to-go PDF, your Google and Apple listings, and ideally your delivery platforms from a single edit, so changing a tier, updating the buffet price, or 86ing a dish updates everywhere at once. Doing it by hand across a printed menu, your website, Google, and two or three apps is why long menus are so often wrong somewhere online, and the wrong price is the one the guest finds at checkout. One synced source of truth turns a menu change into a ten-second job instead of a chore you skip.