Lunch menu in Switzerland - median
CHF 22.90
The middle half of 1'370 restaurants charge between CHF 19.50 and CHF 26.50 · last 30 days
A lunch menu typically costs CHF 22.90 in Switzerland (median). The index is based on 96'971 menus from 1'370 restaurants across 41 cities over the last 30 days. A tax-free Lunch-Check of CHF 180.00 a month is worth about CHF 8.29 per working day - 36% of the median lunch menu.
Typical menu under CHF 20
30%
of restaurants
Vegetarian is cheaper
CHF 2.75
than meat at the same restaurant (median, 1'005 restaurants)
Soup or salad included
48%
of restaurants, in at least half of their menus
Vegetarian option every day
50%
of restaurants
Lunch discount
CHF 5.00
less than à la carte, same dish type at the same restaurant (median, 369 restaurants)
| City | Range (p25-p75) | Median | Restaurants only | Restaurants | |
|---|---|---|---|---|---|
| 1 | CHF 27.25 | CHF 27.25 | 14 | ||
| 2 | CHF 25.50 | CHF 26.00 | 10 | ||
| 3 | CHF 24.50 | CHF 25.75 | 34 | ||
| 4 | CHF 24.00 | CHF 25.25 | 261 | ||
| 5 | CHF 24.00 | CHF 24.50 | 48 | ||
| 6 | CHF 24.00 | CHF 26.00 | 54 | ||
| 7 | CHF 24.00 | CHF 24.45 | 13 | ||
| 8 | CHF 24.00 | CHF 24.25 | 40 | ||
| 9 | CHF 23.50 | CHF 23.95 | 97 | ||
| 10 | CHF 23.00 | CHF 23.50 | 60 | ||
| 11 | CHF 23.00 | CHF 23.50 | 15 | ||
| 12 | CHF 23.00 | CHF 22.00 | 10 | ||
| 13 | CHF 22.50 | CHF 22.00 | 21 | ||
| 14 | CHF 22.50 | CHF 23.00 | 12 | ||
| 15 | CHF 22.50 | CHF 22.75 | 18 | ||
| 16 | CHF 22.00 | CHF 22.95 | 77 | ||
| 17 | CHF 22.00 | CHF 23.00 | 11 | ||
| 18 | CHF 21.75 | CHF 22.00 | 18 | ||
| 19 | CHF 20.95 | CHF 22.40 | 10 | ||
| 20 | CHF 20.50 | CHF 20.00 | 10 | ||
| 21 | CHF 19.50 | CHF 19.75 | 27 | ||
| 22 | CHF 19.50 | CHF 24.50 | 13 | ||
| 23 | CHF 19.00 | CHF 20.00 | 20 | ||
| Fewer than 10 restaurants (unranked) | |||||
| CHF 25.50 | CHF 27.88 | 8 | |||
| CHF 25.00 | CHF 24.50 | 9 | |||
| CHF 24.00 | CHF 24.50 | 9 | |||
| CHF 24.00 | – | 5 | |||
| CHF 23.00 | – | 5 | |||
| CHF 21.50 | CHF 21.50 | 5 | |||
| CHF 21.00 | CHF 21.50 | 7 | |||
| CHF 20.95 | CHF 20.95 | 7 | |||
| CHF 20.00 | CHF 20.00 | 9 | |||
| CHF 19.85 | CHF 19.85 | 8 | |||
| CHF 19.50 | CHF 19.50 | 8 | |||
| CHF 19.50 | – | 5 | |||
| CHF 19.50 | – | 7 | |||
| CHF 19.50 | CHF 19.50 | 8 | |||
| CHF 18.90 | CHF 19.20 | 7 | |||
| CHF 18.50 | CHF 22.50 | 7 | |||
| CHF 16.90 | – | 5 | |||
| CHF 13.90 | – | 5 | |||
Ranked only from 10 restaurants; cities with 5 or more are listed below, unranked. "Restaurants only": the median without hotels, cafés, bakeries and fast food (at least 5 restaurants).
German-speaking: CHF 22.90 (95% CI CHF 22.50-CHF 23.00) · French-speaking: CHF 23.00 (95% CI CHF 22.00-CHF 24.00) · Ticino: CHF 22.00 (95% CI CHF 18.50-CHF 26.00). The confidence intervals overlap: on the menu price, the regions cannot be told apart reliably.
| Region | Range (p25-p75) | Median | 95% CI | Restaurants |
|---|---|---|---|---|
| German-speaking | CHF 22.90 | CHF 22.50-CHF 23.00 | 1'138 | |
| French-speaking | CHF 23.00 | CHF 22.00-CHF 24.00 | 211 | |
| Ticino (small sample) | CHF 22.00 | CHF 18.50-CHF 26.00 | 21 |
The Röstigraben shows on the plate: what the language regions serve
The type of venue matters more than the region: Hotel CHF 25.50 (54) · Restaurant CHF 23.50 (1'017) · Café and bakery CHF 19.40 (195) · Fast food and takeaway CHF 18.90 (43).
| Type of venue | Median | Restaurants |
|---|---|---|
| Hotel | CHF 25.50 | 54 |
| Restaurant | CHF 23.50 | 1'017 |
| Café and bakery | CHF 19.40 | 195 |
| Fast food and takeaway | CHF 18.90 | 43 |
Game is the priciest main ingredient (CHF 27.00); "Vegetables & pasta" menus are the cheapest (CHF 20.00). At the same restaurant, the vegetarian menu costs a median CHF 2.75 less than the meat menu (1'005 restaurants serving both); at 22% of them it costs the same or more.
| Main ingredient | Median | Restaurants |
|---|---|---|
| Game | CHF 27.00 | 403 |
| Lamb | CHF 27.00 | 125 |
| Veal | CHF 25.50 | 487 |
| Beef | CHF 24.50 | 914 |
| Fish & seafood | CHF 24.00 | 868 |
| Pork | CHF 23.00 | 819 |
| Poultry | CHF 23.00 | 867 |
| Cheese & egg | CHF 20.50 | 736 |
| Tofu & legumes | CHF 20.00 | 438 |
| Vegetables & pasta | CHF 20.00 | 820 |
At the same restaurant and for the same dish type, the à-la-carte menu costs a median CHF 5.00 more than the lunch menu (369 restaurants with both); at 75% of them the card is dearer.
| Dish type | Lunch | Card | Difference | Restaurants | Card dearer |
|---|---|---|---|---|---|
| Steak and grill | CHF 32.00 | CHF 46.00 | +CHF 13.00 | 156 | 83% |
| Fish fillet | CHF 27.75 | CHF 39.25 | +CHF 11.05 | 152 | 88% |
| Pasta | CHF 22.50 | CHF 24.13 | +CHF 2.00 | 140 | 60% |
| Geschnetzeltes | CHF 25.50 | CHF 39.25 | +CHF 11.00 | 78 | 81% |
| Schnitzel | CHF 25.00 | CHF 30.00 | +CHF 3.50 | 73 | 70% |
| Filled pasta | CHF 23.00 | CHF 27.00 | +CHF 3.25 | 55 | 73% |
| Risotto | CHF 23.00 | CHF 27.50 | +CHF 4.50 | 53 | 83% |
| Cordon bleu | CHF 29.50 | CHF 36.80 | +CHF 6.25 | 51 | 71% |
| Pizza | CHF 21.65 | CHF 22.90 | +CHF 0.50 | 51 | 53% |
| Stew | CHF 25.00 | CHF 37.50 | +CHF 10.00 | 47 | 81% |
| Fried fish | CHF 24.70 | CHF 32.38 | +CHF 5.50 | 44 | 80% |
| Curry | CHF 22.50 | CHF 29.75 | +CHF 5.75 | 42 | 81% |
| Burger | CHF 23.50 | CHF 28.00 | +CHF 4.00 | 41 | 71% |
| Vegetable dish | CHF 23.75 | CHF 26.50 | +CHF 1.70 | 34 | 62% |
| Sausage | CHF 21.50 | CHF 24.00 | CHF 0.00 | 28 | 46% |
| Seafood | CHF 25.00 | CHF 36.40 | +CHF 10.00 | 27 | 93% |
| Cutlet | CHF 31.50 | CHF 36.50 | CHF 0.00 | 27 | 41% |
| Gnocchi | CHF 21.00 | CHF 24.50 | +CHF 4.00 | 25 | 84% |
| Main-course salad | CHF 23.00 | CHF 23.90 | CHF 0.00 | 25 | 48% |
| Poultry dish | CHF 24.95 | CHF 36.20 | +CHF 10.00 | 24 | 79% |
A menu with just a main course typically costs CHF 22.50; with a starter CHF 23.00, with starter and dessert CHF 26.00. At 48% of restaurants, at least half of the menus include a soup or salad.
| Included | Median | Restaurants |
|---|---|---|
| Main course only | CHF 22.50 | 953 |
| With a starter | CHF 23.00 | 822 |
| With starter and dessert | CHF 26.00 | 300 |
| Region | Restaurants with soup or salad | Restaurants |
|---|---|---|
| German-speaking | 52.1% | 1'138 |
| French-speaking | 28.4% | 211 |
| Ticino (small sample) | 23.8% | 21 |
50% of restaurants offer a vegetarian option on every published day, 18% never do. A daily vegan option is still rare: 10%.
| Vegetarian | Vegan | |
|---|---|---|
| every day | 49.8% | 9.6% |
| some days | 31.7% | 33.5% |
| never | 18.5% | 56.8% |
Chain-linked index on a fixed panel (August 2026 = 100): October 2026 (ongoing month): 100.0, based on 1'010 restaurants present in both months. The level of all medians is in the table as context: it also moves when restaurants join or leave.
| Month | Index | Panel | Median change | Median (all) | Restaurants |
|---|---|---|---|---|---|
| October 2026 (ongoing month) | 100.0 | 1'010 | CHF 0.00 | CHF 22.90 | 1'355 |
| September 2026 | 100.0 | 831 | CHF 0.00 | CHF 22.50 | 1'248 |
| August 2026 | 100.0 | – | – | CHF 23.00 | 1'092 |
Panel: restaurants with at least 3 menus in the month itself and the month before.
The index is computed automatically from the daily lunch menus Swiss restaurants publish, collected every day by Lunchmenu.ch. Each restaurant counts once: its price is the median of its menus over the last 30 days, and a city's value is the median of those per-restaurant prices. The range shows the middle half of restaurants (p25 to p75). Items below CHF 10 (apéro plates, snacks) and above CHF 100 are excluded, as are restaurants with fewer than 3 published menus. Cities with fewer than 5 restaurants are not listed individually. The 95% confidence interval of the median is computed distribution-free from order statistics.
Main ingredient and diet: every main course is classified by our proprietary classification system by dish type, main ingredient, diet and cuisine, reading the dish name together with the menu heading; only unambiguous classifications enter the statistics. Dishes without a real name ("Menu 1", "dish of the day") are left out of prices but kept for the vegetarian offer. The vegetarian/meat gap compares both at the same restaurant. Language regions: by the restaurant's postcode first (with the German-speaking parts of Fribourg and the Biel area decided explicitly), otherwise by its town. Soup or salad: menus whose included starter is a soup or a salad. Trend: a chain-linked index on a fixed panel - each month only restaurants with at least 3 menus in that month and the month before count, and the link is the median of their price ratios, so restaurants joining or leaving the index do not move it.
These figures may be quoted freely with attribution to Lunchmenu.ch and a link to this page.