lunchmenu.ch

Swiss Lunch Price Index

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)

Prices by city (last 30 days)

CityRange (p25-p75)MedianRestaurants onlyRestaurants
1 Baden Baden: Median 27.25, p25-p75 25.63-27.88, 95% CI 25.50-28.00, n=14 CHF 27.25 CHF 27.25 14
2 Nyon Nyon: Median 25.50, p25-p75 20.75-29.68, 95% CI 18.00-30.50, n=10 CHF 25.50 CHF 26.00 10
3 Zug Zug: Median 24.50, p25-p75 21.60-28.00, 95% CI 22.90-26.90, n=34 CHF 24.50 CHF 25.75 34
4 Zürich Zürich: Median 24.00, p25-p75 19.90-28.00, 95% CI 23.50-25.00, n=261 CHF 24.00 CHF 25.25 261
5 Genève Genève: Median 24.00, p25-p75 19.38-28.00, 95% CI 21.00-26.00, n=48 CHF 24.00 CHF 24.50 48
6 Lausanne Lausanne: Median 24.00, p25-p75 21.00-27.38, 95% CI 22.00-26.00, n=54 CHF 24.00 CHF 26.00 54
7 Sion Sion: Median 24.00, p25-p75 22.00-28.00, 95% CI 21.00-28.00, n=13 CHF 24.00 CHF 24.45 13
8 St. Gallen St. Gallen: Median 24.00, p25-p75 19.50-27.63, 95% CI 21.00-26.00, n=40 CHF 24.00 CHF 24.25 40
9 Basel Basel: Median 23.50, p25-p75 20.00-27.00, 95% CI 22.00-24.90, n=97 CHF 23.50 CHF 23.95 97
10 Luzern Luzern: Median 23.00, p25-p75 19.11-26.00, 95% CI 21.25-24.50, n=60 CHF 23.00 CHF 23.50 60
11 Schaffhausen Schaffhausen: Median 23.00, p25-p75 20.50-25.50, 95% CI 20.50-26.50, n=15 CHF 23.00 CHF 23.50 15
12 Vevey Vevey: Median 23.00, p25-p75 22.00-24.00, 95% CI 20.00-26.50, n=10 CHF 23.00 CHF 22.00 10
13 Rapperswil-Jona Rapperswil-Jona: Median 22.50, p25-p75 20.00-39.00, 95% CI 20.00-36.00, n=21 CHF 22.50 CHF 22.00 21
14 Olten Olten: Median 22.50, p25-p75 21.00-23.88, 95% CI 21.00-25.00, n=12 CHF 22.50 CHF 23.00 12
15 Chur Chur: Median 22.50, p25-p75 18.49-25.00, 95% CI 18.40-25.00, n=18 CHF 22.50 CHF 22.75 18
16 Bern Bern: Median 22.00, p25-p75 19.00-27.50, 95% CI 20.50-24.00, n=77 CHF 22.00 CHF 22.95 77
17 Thun Thun: Median 22.00, p25-p75 19.00-25.00, 95% CI 18.50-25.00, n=11 CHF 22.00 CHF 23.00 11
18 Aarau Aarau: Median 21.75, p25-p75 19.00-24.38, 95% CI 19.00-24.50, n=18 CHF 21.75 CHF 22.00 18
19 Burgdorf Burgdorf: Median 20.95, p25-p75 18.50-23.63, 95% CI 15.50-26.00, n=10 CHF 20.95 CHF 22.40 10
20 Fribourg Fribourg: Median 20.50, p25-p75 18.25-24.00, 95% CI 17.90-25.90, n=10 CHF 20.50 CHF 20.00 10
21 Winterthur Winterthur: Median 19.50, p25-p75 17.75-24.00, 95% CI 18.00-23.50, n=27 CHF 19.50 CHF 19.75 27
22 Frauenfeld Frauenfeld: Median 19.50, p25-p75 15.00-23.00, 95% CI 15.00-26.00, n=13 CHF 19.50 CHF 24.50 13
23 Solothurn Solothurn: Median 19.00, p25-p75 16.50-21.50, 95% CI 16.50-21.50, n=20 CHF 19.00 CHF 20.00 20
Fewer than 10 restaurants (unranked)
Schwyz Schwyz: Median 25.50, p25-p75 22.50-30.31, 95% CI 22.50-32.00, n=8 CHF 25.50 CHF 27.88 8
Liestal Liestal: Median 25.00, p25-p75 24.00-25.00, 95% CI 22.50-27.00, n=9 CHF 25.00 CHF 24.50 9
Stans Stans: Median 24.00, p25-p75 21.00-25.00, 95% CI 20.00-28.00, n=9 CHF 24.00 CHF 24.50 9
Reinach BL Reinach BL: Median 24.00, p25-p75 18.00-24.80, 95% CI 17.00-32.50, n=5 CHF 24.00 – 5
Delémont Delémont: Median 23.00, p25-p75 19.00-23.50, 95% CI 12.00-54.00, n=5 CHF 23.00 – 5
Emmen Emmen: Median 21.50, p25-p75 18.00-45.00, 95% CI 18.00-48.00, n=5 CHF 21.50 CHF 21.50 5
Sursee Sursee: Median 21.00, p25-p75 18.75-22.25, 95% CI 11.00-34.50, n=7 CHF 21.00 CHF 21.50 7
Langenthal Langenthal: Median 20.95, p25-p75 18.45-22.00, 95% CI 15.00-22.50, n=7 CHF 20.95 CHF 20.95 7
Neuchâtel Neuchâtel: Median 20.00, p25-p75 20.00-24.00, 95% CI 18.00-54.00, n=9 CHF 20.00 CHF 20.00 9
Zofingen Zofingen: Median 19.85, p25-p75 17.25-21.88, 95% CI 16.50-23.00, n=8 CHF 19.85 CHF 19.85 8
Uster Uster: Median 19.50, p25-p75 18.50-21.60, 95% CI 17.00-21.90, n=8 CHF 19.50 CHF 19.50 8
Neuhausen am Rheinfall Neuhausen am Rheinfall: Median 19.50, p25-p75 18.50-21.50, 95% CI 15.50-26.00, n=5 CHF 19.50 – 5
Biel/Bienne Biel/Bienne: Median 19.50, p25-p75 18.75-21.75, 95% CI 16.90-25.00, n=7 CHF 19.50 – 7
Herisau Herisau: Median 19.50, p25-p75 18.38-21.00, 95% CI 18.00-22.50, n=8 CHF 19.50 CHF 19.50 8
Dübendorf Dübendorf: Median 18.90, p25-p75 18.90-23.25, 95% CI 18.00-37.00, n=7 CHF 18.90 CHF 19.20 7
Locarno Locarno: Median 18.50, p25-p75 17.55-23.75, 95% CI 15.00-59.00, n=7 CHF 18.50 CHF 22.50 7
Dietlikon Dietlikon: Median 16.90, p25-p75 14.00-22.00, 95% CI 14.00-22.00, n=5 CHF 16.90 – 5
Emmenbrücke Emmenbrücke: Median 13.90, p25-p75 11.80-14.00, 95% CI 10.00-18.00, n=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).

Röstigraben: the language regions

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.

RegionRange (p25-p75)Median95% CIRestaurants
German-speaking German-speaking: Median 22.90, p25-p75 19.50-26.50, 95% CI 22.50-23.00, n=1138 CHF 22.90 CHF 22.50-CHF 23.00 1'138
French-speaking French-speaking: Median 23.00, p25-p75 20.00-27.00, 95% CI 22.00-24.00, n=211 CHF 23.00 CHF 22.00-CHF 24.00 211
Ticino (small sample) Ticino: Median 22.00, p25-p75 18.50-28.00, 95% CI 18.50-26.00, n=21 CHF 22.00 CHF 18.50-CHF 26.00 21

The Röstigraben shows on the plate: what the language regions serve

Hotel, restaurant, café: the type of venue

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).

Hotel: CHF 25.50 (54 Restaurants)HotelCHF 25.50Restaurant: CHF 23.50 (1'017 Restaurants)RestaurantCHF 23.50Café and bakery: CHF 19.40 (195 Restaurants)Café and bakeryCHF 19.40Fast food and takeaway: CHF 18.90 (43 Restaurants)Fast food and takeawayCHF 18.90
Table
Type of venueMedianRestaurants
HotelCHF 25.5054
RestaurantCHF 23.501'017
Café and bakeryCHF 19.40195
Fast food and takeawayCHF 18.9043
Type of venue from OpenStreetMap; one restaurant, one vote.

What drives the price: the main ingredient

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.

Game: CHF 27.00 (403 Restaurants)GameCHF 27.00Lamb: CHF 27.00 (125 Restaurants)LambCHF 27.00Veal: CHF 25.50 (487 Restaurants)VealCHF 25.50Beef: CHF 24.50 (914 Restaurants)BeefCHF 24.50Fish & seafood: CHF 24.00 (868 Restaurants)Fish & seafoodCHF 24.00Pork: CHF 23.00 (819 Restaurants)PorkCHF 23.00Poultry: CHF 23.00 (867 Restaurants)PoultryCHF 23.00Cheese & egg: CHF 20.50 (736 Restaurants)Cheese & eggCHF 20.50Tofu & legumes: CHF 20.00 (438 Restaurants)Tofu & legumesCHF 20.00Vegetables & pasta: CHF 20.00 (820 Restaurants)Vegetables & pastaCHF 20.00
Table
Main ingredientMedianRestaurants
GameCHF 27.00403
LambCHF 27.00125
VealCHF 25.50487
BeefCHF 24.50914
Fish & seafoodCHF 24.00868
PorkCHF 23.00819
PoultryCHF 23.00867
Cheese & eggCHF 20.50736
Tofu & legumesCHF 20.00438
Vegetables & pastaCHF 20.00820

The lunch discount: menu versus à la carte

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.

Steak and grill: Lunch menu CHF 32.00 · À la carte CHF 46.00 (156 Restaurants)Steak and grill156 RestaurantsCHF 32.00CHF 46.00Fish fillet: Lunch menu CHF 27.75 · À la carte CHF 39.25 (152 Restaurants)Fish fillet152 RestaurantsCHF 27.75CHF 39.25Geschnetzeltes: Lunch menu CHF 25.50 · À la carte CHF 39.25 (78 Restaurants)Geschnetzeltes78 RestaurantsCHF 25.50CHF 39.25Stew: Lunch menu CHF 25.00 · À la carte CHF 37.50 (47 Restaurants)Stew47 RestaurantsCHF 25.00CHF 37.50Cordon bleu: Lunch menu CHF 29.50 · À la carte CHF 36.80 (51 Restaurants)Cordon bleu51 RestaurantsCHF 29.50CHF 36.80Risotto: Lunch menu CHF 23.00 · À la carte CHF 27.50 (53 Restaurants)Risotto53 RestaurantsCHF 23.00CHF 27.50Schnitzel: Lunch menu CHF 25.00 · À la carte CHF 30.00 (73 Restaurants)Schnitzel73 RestaurantsCHF 25.00CHF 30.00Filled pasta: Lunch menu CHF 23.00 · À la carte CHF 27.00 (55 Restaurants)Filled pasta55 RestaurantsCHF 23.00CHF 27.00Pasta: Lunch menu CHF 22.50 · À la carte CHF 24.13 (140 Restaurants)Pasta140 RestaurantsCHF 22.50CHF 24.13Pizza: Lunch menu CHF 21.65 · À la carte CHF 22.90 (51 Restaurants)Pizza51 RestaurantsCHF 21.65CHF 22.90
Table
Dish typeLunchCardDifferenceRestaurantsCard dearer
Steak and grillCHF 32.00CHF 46.00+CHF 13.0015683%
Fish filletCHF 27.75CHF 39.25+CHF 11.0515288%
PastaCHF 22.50CHF 24.13+CHF 2.0014060%
GeschnetzeltesCHF 25.50CHF 39.25+CHF 11.007881%
SchnitzelCHF 25.00CHF 30.00+CHF 3.507370%
Filled pastaCHF 23.00CHF 27.00+CHF 3.255573%
RisottoCHF 23.00CHF 27.50+CHF 4.505383%
Cordon bleuCHF 29.50CHF 36.80+CHF 6.255171%
PizzaCHF 21.65CHF 22.90+CHF 0.505153%
StewCHF 25.00CHF 37.50+CHF 10.004781%
Fried fishCHF 24.70CHF 32.38+CHF 5.504480%
CurryCHF 22.50CHF 29.75+CHF 5.754281%
BurgerCHF 23.50CHF 28.00+CHF 4.004171%
Vegetable dishCHF 23.75CHF 26.50+CHF 1.703462%
SausageCHF 21.50CHF 24.00CHF 0.002846%
SeafoodCHF 25.00CHF 36.40+CHF 10.002793%
CutletCHF 31.50CHF 36.50CHF 0.002741%
GnocchiCHF 21.00CHF 24.50+CHF 4.002584%
Main-course saladCHF 23.00CHF 23.90CHF 0.002548%
Poultry dishCHF 24.95CHF 36.20+CHF 10.002479%
Same dish type, not the same dish: portions and sides can differ, and the lunch menu often includes a soup. Lunch menus of the last 45 days; main courses from currently published cards. Dish types with at least 20 restaurants.

What does the price include?

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.

Main course only: CHF 22.50 (953 Restaurants)Main course onlyCHF 22.50With a starter: CHF 23.00 (822 Restaurants)With a starterCHF 23.00With starter and dessert: CHF 26.00 (300 Restaurants)With starter and dessertCHF 26.00
Table
IncludedMedianRestaurants
Main course onlyCHF 22.50953
With a starterCHF 23.00822
With starter and dessertCHF 26.00300

Soup or salad included, by language region

German-speaking: 52% (1'138 Restaurants)German-speaking52%French-speaking: 28% (211 Restaurants)French-speaking28%Ticino: 24% (21 Restaurants)Ticino (small sample)24%
Table
RegionRestaurants with soup or saladRestaurants
German-speaking52.1%1'138
French-speaking28.4%211
Ticino (small sample)23.8%21

Vegetarian and vegan options

50% of restaurants offer a vegetarian option on every published day, 18% never do. A daily vegan option is still rare: 10%.

Vegetarian

every day: 50%every day50%some days: 32%some days32%never: 18%never18%

Vegan

every day: 10%every day10%some days: 34%some days34%never: 57%never57%
Table
VegetarianVegan
every day49.8%9.6%
some days31.7%33.5%
never18.5%56.8%
One restaurant, one vote; only restaurants with at least 5 published days in the last 30 days count (1'184 restaurants). A day counts when the published menu or the main course's classification says so.

Monthly trend (fixed-panel index)

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.

9899101102100August 2026: 100.0September 2026: 100.0October 2026: 100.0100.0August 2026September 2026October 2026
MonthIndexPanelMedian changeMedian (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.

Methodology

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.