Switzerland — European Dining Guide

Best Restaurants in Davos

The Graubünden ski-and-spa town that hosts the World Economic Forum each January — 1,560 metres up in the Swiss Alps, with a quietly serious dining scene built around two Michelin-starred kitchens and a century of European political-elite hosting.

30+Restaurants Targeted
5Editorial Picks Live
7Occasions Covered

The Davos List

Five editorial picks, ranked by the only filter that matters: why you are dining.

Best for First Date in Davos

Intimate, conversation-friendly rooms. Impressive without being intimidating. The tables where first impressions are made.

All First-Date Restaurants →

Best for Business Dinner in Davos

Power tables, private rooms, considered wine lists. Where the deal gets done.

All Business Restaurants →

The Top Five in Davos

Ranked against a single question: if you had one night in Davos, where would you go?

1

Glow

Modern Swiss Alpine $$$$ ★ One Star (Michelin)

Armin Amrein's panoramic Michelin-starred kitchen at the Hotel Grischa — Davos's most reliable serious dining and the WEF-delegate reservation that is hardest to get.

View →
2

Seehof Davos

Modern French Alpine $$$$ ★ One Star (Michelin)

The Seehof Davos's intimate one-star — Markus Schneider cooks French-rooted Alpine fine dining in a Belle Époque dining room overlooking the lake.

View →
3

Stüva

Classic Graubündner $$$ 17 GaultMillau points

The most reliable classic Graubündner dining in Davos — Hotel Walserhof's wood-stube room with a 17-point GaultMillau rating and a deep regional cellar.

View →
4

Schatzalp

Belle Époque Swiss $$$ Hundred-year sanatorium institution

1,861 metres above Davos — the 1900 Belle Époque sanatorium that inspired Thomas Mann's Magic Mountain, with Davos's most photographed dining terrace.

View →
5

Jatzhütte

Mountain Pasture Bündner $$ Davos mountain-pasture institution

2,500 metres on the Jakobshorn ridge — the Davos mountain-pasture institution and the resort's most reliable lunchtime social anchor.

View →

The Davos Dining Guide

Davos sits at 1,560 metres in the eastern Graubünden Alps and is — by elevation — the highest city in Europe. The town runs roughly a thousand metres long along the Landwasser valley floor, with Davos Platz (the lower village) holding the historic centre and Davos Dorf (the upper village) holding the chairlift base stations. The World Economic Forum has met annually at the Davos Congress Centre since 1971 and the third week of January transforms the town into the most security-saturated dining destination in the European Alps for five days.

The dining is correspondingly serious for an Alpine ski town. Glow by Armin Amrein at the Hotel Grischa runs one Michelin star; Markus Schneider's restaurant at the Seehof Davos runs another; Stüva at the Hotel Walserhof runs the village's most consistent classic Graubündner cooking; and the Schatzalp Hotel — a 1900-vintage Belle Époque sanatorium-turned-hotel above the town — runs both a serious dining room and the resort's most photographed dining terrace. Mountain-pasture restaurants — Schatzalp Berghotel, Höhenweg, Jakobshorn — round out the lunch programme.

Neighbourhoods

Davos Platz (Promenade, Talstrasse) holds the village hotels, the Congress Centre, and most fine dining. Davos Dorf, three kilometres up-valley, holds the chairlift base stations and a quieter cluster of hotel-restaurants. The Schatzalp — a small plateau two hundred metres above the Platz, accessed by the original 1899 funicular — holds the Belle Époque hotel and the most photographed terrace. Mountain pastures — the Jakobshorn, Parsenn, Pischa lifts — hold the slope-side restaurants.

Reservations & Practical Notes

Glow and Seehof must be booked four to eight weeks ahead during WEF week (third week of January) — the rooms are functionally booked-out for delegates a year in advance. Outside WEF week, two to three weeks is sufficient. Stüva books at one to two weeks. Mountain restaurants take phone bookings two to three days ahead. Dress is alpine-elegant — a Loden jacket or sweater is acceptable everywhere — with no formal jacket requirement. Service is included in Switzerland; rounding up 5 per cent is the polite local convention.

For a deeper editorial read, see our ongoing Editorial coverage — including pieces on the Impress Clients, Proposal and /* RFK_UNIVERSAL_FILTER_V2 - sitewide occasion filter; reads data-occ + aliases */ (function(){ var SLUGS = {'first-date':'First Date','close-a-deal':'Close a Deal','birthday':'Birthday','impress-clients':'Impress Clients','proposal':'Proposal','solo-dining':'Solo Dining','team-dinner':'Team Dinner'}; var ALIASES = {'date-night':'first-date','anniversary':'birthday','romantic':'proposal'}; function canonical(s){ s=(s||'').trim().toLowerCase(); return ALIASES[s]||s; } function parseHash(){ var h=(location.hash||'').replace(/^#/,''); var m=h.match(/occasion=([a-z-]+)/i); return m?canonical(m[1]):''; } function tagSlug(t){ var s = canonical(t.getAttribute('data-occasion')||''); if (s) return s; var href = t.getAttribute('href')||''; var m = href.match(/#occasion=([a-z-]+)/i); return m ? canonical(m[1]) : ''; } function isAllTag(t){ if (tagSlug(t)) return false; var href = (t.getAttribute('href')||'').trim(); if (!href || href === '#' || href === '#all') return true; return /^\/city\/[^\/?#]+\/?$/.test(href.split('#')[0].split('?')[0]); } function cardOccasions(card){ var raw = (card.getAttribute('data-occ') || card.getAttribute('data-occasions') || card.getAttribute('data-occasion') || ''); var set = {}; raw.split(/[,;\s]+/).forEach(function(s){ var c=canonical(s); if(c) set[c]=1; }); return set; } function badgeMatches(card, slug){ var label = SLUGS[slug]; if (!label) return false; var found = false; card.querySelectorAll('.card-occasion-badge, .card-occasion, .card-occ, .occasion-badge, .card-badge').forEach(function(b){ var t = (b.textContent||'').trim().toLowerCase(); if (t === label.toLowerCase()) found = true; }); return found; } function cardMatches(card, slug){ if (!slug) return true; var occ = cardOccasions(card); if (Object.keys(occ).length) return !!occ[slug]; return badgeMatches(card, slug); } function ensureEmptyState(){ var grid = document.querySelector('.restaurant-grid'); if (!grid) return; var msg = document.getElementById('rfk-empty-state'); if (!msg) { msg = document.createElement('div'); msg.id = 'rfk-empty-state'; msg.style.cssText = 'display:none;padding:48px 24px;margin:24px 0 64px;border:1px solid rgba(201,168,76,0.3);background:rgba(22,20,15,0.5);text-align:center;font-family:DM Sans,sans-serif;color:#B8B5A8;'; grid.parentNode.insertBefore(msg, grid.nextSibling); } } function renderEmptyState(slug, shown){ var msg = document.getElementById('rfk-empty-state'); if (!msg) return; if (shown > 0 || !slug) { msg.style.display='none'; return; } var label = SLUGS[slug] || slug; msg.innerHTML = '

No '+label+' picks listed for this city yet.

'+ '

See the global guide to '+label+' restaurants curated across every city we cover.

'+ '
View '+label+' Guide →'; msg.style.display = 'block'; } function applyFilter(slug){ slug = canonical(slug); var label = SLUGS[slug] || ''; document.querySelectorAll('.occasion-tag').forEach(function(t){ var ts = tagSlug(t); var all = isAllTag(t); if ((!slug && all) || (slug && ts===slug)) t.classList.add('active'); else t.classList.remove('active'); }); var cards = document.querySelectorAll('.restaurant-card'); var shown = 0; cards.forEach(function(card){ if (cardMatches(card, slug)) { card.style.display=''; shown++; } else card.style.display='none'; }); var count = document.querySelector('.result-count') || document.querySelector('.section-header [style*="font-size:13px"]') || document.querySelector('.section-header div[style*="muted"]'); if (count) count.textContent = label ? (shown + ' ' + label + ' picks') : (shown + ' restaurants listed'); ensureEmptyState(); renderEmptyState(slug, shown); } function wire(){ document.querySelectorAll('.occasion-tag').forEach(function(t){ t.addEventListener('click', function(e){ var slug = tagSlug(t); var all = isAllTag(t); if (slug || all) { e.preventDefault(); if (slug) history.replaceState(null,'','#occasion='+slug); else history.replaceState(null,'', location.pathname + location.search); applyFilter(slug); var grid = document.querySelector('.restaurant-grid'); if (grid) grid.scrollIntoView({behavior:'smooth', block:'start'}); } }); }); applyFilter(parseHash()); window.addEventListener('hashchange', function(){ applyFilter(parseHash()); }); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', wire); else wire(); })();