One thing to know before you book anything: Milanese food is northern food. Butter, rice and saffron rather than tomato and olive oil, with a repertoire of its own in risotto alla milanese, cotoletta and ossobuco. Most of the list below is where the city eats that food. The exceptions earn their place: a Neapolitan pizzeria, a food hall inside the station, and a counter near the Duomo that has been frying folded pastries since 1949.
Plan Italy in Stippl
Day-by-day planning, stays and budget in one app, with every place from this guide already on the map.
Download the appMilan's hidden gem restaurants: eating like a local, not a tourist
Nobody gets long in Milan. Travellers who plan their Italy trip with Stippl give the city an average of 1.92 nights, and 46.6% stay for just one, the shortest big-city stay anywhere in Italy. That's two dinners if you're lucky and one if you're not, which is why a bad meal here costs more than a bad meal in Rome.
So this list leans away from Piazza del Duomo and towards the rooms locals queue for. There is a Michelin starred kitchen on it, but there are also three no-frills neighbourhood trattorias most guidebooks skip, and one place with no printed menu at all. Prices run from € for a cheap, quick meal to €€€€ for a proper splurge.
If you want to spot the difference yourself, the menu board out front is the tell: the more languages on it, the further you are from the food Milan actually eats. The other giveaway is the service. Milan is direct and quick, and a waiter who takes your order and moves on isn't being rude. That's simply the city's register, and it catches people out who arrive expecting Florence.
The 10 best places to eat in Milan
1. Ratanà: modern Milanese without the formality
Start with the ossobuco. Ratanà takes the dishes Milan grew up on, the saffron risotto and the slow-braised veal shin, and cooks them with a modern, locally sourced touch in a room that feels like a good neighbourhood restaurant rather than an occasion. It's at Via Gaetano de Castillia 28 and open every day, 12 to 2:30 pm and 7 to 11 pm. Mains run €€€. It's one of the harder tables around here to walk into, so book a few days ahead.
2. Trippa: the cotoletta locals actually mean
Ask someone from Milan where to eat traditional Milanese food and this is roughly the answer you get. Trippa, at Via Giorgio Vasari 1, fries its cotoletta alla Milanese, a breaded veal cutlet, until the edges crisp, and it's among the best in the city. The tripe stew the place is named after is what to order if you want to eat the way Milan ate a century ago. €€, and the room is small enough that walk-ins rarely work: dinner only from Monday to Friday, 7:15 to 11:30 pm, with one lunch sitting on Fridays at 12:30, closed Saturdays and Sundays. Book before you fly, not after you land.
3. Il Luogo di Aimo e Nadia: the splurge
This is the one to plan an evening around rather than fit in. Il Luogo di Aimo e Nadia on Via Privata Raimondo Montecuccoli 6 is a one Michelin star restaurant built on seasonal tasting menus, heavy on truffle when truffle is in season. It held two stars until the 2024 guide, so plenty of older lists still say two. Expect €€€€ and a sitting at 12:30 to 2 pm or 7:30 to 10 pm, closed Sundays and Mondays. Skip the à la carte and take the tasting menu: that's the one built to show what the kitchen can do.
4. Piz: the queue that moves
There's usually a crowd on the pavement outside Piz at Via Torino 34, and it isn't a marketing trick. Inside is Neapolitan-style pizza with a soft, chewy crust and toppings that taste like they were bought that morning. Margherita or burrata, either way. It's €, and it's fast, open 12 to 3 pm and 6:30 to 11:30 pm, closed Sundays. Ten minutes of waiting at dinner is normal here and the pizza is worth it.
5. Al Garghet: the garden worth the metro ride
Al Garghet is the one you have to travel for, out at Via Selvanesco 36 well beyond the centre, and the garden is the reason people bother. The kitchen does Lombard classics the old way: homemade risotto, the same ossobuco you'll find across Milan, nothing reinvented and nothing apologised for. €€, open Tuesday to Sunday from 7 pm with the kitchen closing at 10, plus lunch from midday on Saturdays and Sundays, closed Mondays. Book ahead if you want to sit outside, because it's one of the few proper garden dining rooms on this list.
6. Luini: a panzerotto eaten standing up
Near the Duomo at Via Santa Radegonda 16, Luini has been frying panzerotti, stuffed and folded pastries, since 1949. There's nowhere to sit and nothing to book. You queue, you pay, you eat it on the pavement, and at € it's the cheapest full thing you can eat in the centre of Milan. Open 10 am to 8 pm, closed Sundays. Order the classic tomato and mozzarella first, because everything else on the board is a variation on it.
7. Osteria del Binari: dinner in a garden near Porta Genova
The terrace is the whole point here. Osteria del Binari at Via Tortona 1 is the kind of place a guidebook walks past: handmade pasta, a quiet table outside, and an evening that doesn't feel like it's happening in a tourist district. €€€. It runs a bistro lunch menu from Monday to Friday and serves dinner in the evening, though the exact hours move, so check them when you book. This is the pick for a slow dinner well away from the Duomo crush.
8. Mercato Centrale: the one that's open when nothing else is
Milan keeps Italian hours, and most of the restaurants above shut between lunch and dinner. Mercato Centrale, the food hall inside Centrale station at Via Giovanni Battista Sammartini 1, doesn't. It runs 7 am to midnight, which makes it the rare Milan food stop that works for breakfast, a rushed lunch between trains, or dinner after a delayed one. Fresh pasta counters, artisanal gelato and a dozen things in between, € to €€.
9. La Latteria: no menu, no bookings, no fuss
Nothing is printed at La Latteria, Via San Marco 24. You sit down in a tiny room, the staff tell you what's cooking that day, and that's the entire experience. The Maggi family ran it for over 50 years and retired at the end of 2023; it reopened in November 2024 under new ownership with the same cooking and the same rules. €€, open 12:15 to 2:30 pm and 7:15 to 10 pm from Monday to Friday, closed Saturdays and Sundays. It still refuses reservations, so the only strategy that works is turning up the minute it opens.
10. Il Brutto Anatroccolo: the ugly duckling
The name means "the ugly duckling" and the room lives up to it. No design, no polish, a menu that changes daily depending on what's been cooked, and that's exactly the appeal. At Via Torricelli 3 it does home cooking at prices the restaurants nearer the centre can't touch, €, open 12:30 to 3 pm and 7:30 to 11 pm. Order the house wine. It's cheap, it's good, and it's the kind of detail that tells you you've found a local room rather than a tourist one.
Which spot matches your craving
- A proper splurge: Il Luogo di Aimo e Nadia, one Michelin star and a seasonal tasting menu.
- Best pizza: Piz, Neapolitan-style, worth the ten-minute queue.
- Cheapest thing in the centre: a panzerotto at Luini, eaten standing up since 1949.
- A genuine hidden gem: La Latteria, no menu, no bookings, first come first served.
- A garden table: Osteria del Binari near Porta Genova, or Al Garghet if you don't mind the metro ride.
- Between trains: Mercato Centrale, inside Centrale station, open until midnight.
- Classic Milanese comfort food: the cotoletta at Trippa, the ossobuco at Ratanà.
- On a tight budget: Il Brutto Anatroccolo, home cooking and cheap house wine.

Aperitivo: how Milan eats between lunch and dinner
The 10 restaurants above are what you book. Aperitivo is what you do on the night you didn't.
Between roughly 6 and 9 pm, Milan's bars pour a Spritz or a Negroni and put food out beside it: olives, focaccia, sometimes a small buffet, all folded into the price of the drink. €10 to €15 covers both, and there's usually enough food that it replaces dinner outright. This is a Milanese invention rather than an Italian one, and nobody here thinks less of you for skipping a sit-down restaurant to do it.
Navigli is the neighbourhood built around that hour. The canal-side bars fill as the light goes, and by 7 pm every outdoor table along the water is taken. It's touristy now, but it's touristy because it's genuinely where Milan drinks, which is a different thing from a trap. If you'd rather have the same ritual with fewer visitors, walk to Porta Venezia instead. It's residential, it's the city's most mixed and most walkable eating district, and far fewer guidebooks send people there.

Where to eat in Milan: four habits that help
Milan's food runs from a tasting menu with a Michelin star behind it to a folded pastry eaten on the pavement, and the 10 spots above cover most of that range. Four habits make the rest easier.
Book the small rooms. Ratanà, Trippa, Aimo e Nadia and Al Garghet's garden all fill up, and a same-day walk-in at the weekend is a genuine gamble. La Latteria is the exception, and only because it refuses bookings from everyone equally.
Try the classics before you try to be adventurous. Risotto alla milanese, cotoletta and ossobuco are the three dishes that made this city's cooking, and they're on nearly every menu above.
Watch the calendar in August. A large share of Milan's own restaurants close for part of the month, chiuso per ferie in the window, concentrated around Ferragosto on 15 August. The small family-run rooms are the first to shut, and those are most of this list. Check one is open before you build a day around it.
Know what lands on the bill. A coperto, a cover charge, usually appears instead of a tip, and rounding up is plenty. Coffee standing at the bar costs €1.20 to €1.50 and more if you sit down, which is why almost nobody sits.

One last thing, for the sweet half of the trip. Panettone is Milanese, and its home city sells it all year rather than only at Christmas, so a bakery in August is a perfectly good place to try the real version.
So, where to eat in Milan? Book the splurge, queue for the panzerotto, and keep one evening free for aperitivo instead of a table. Do that in a two-night stay and you'll eat a lot closer to how Milan actually eats than most visitors manage.
Frequently asked questions about Italy
Away from Piazza del Duomo's photo-menu trattorias, mostly. Porta Venezia and the streets around Brera see far fewer guidebooks than the centre, and locals treat aperitivo, a €10 to €15 drink with food between 6 and 9 pm, as an ordinary way to have dinner rather than a tourist ritual.
Risotto alla milanese (saffron risotto), cotoletta alla Milanese (a breaded veal cutlet) and ossobuco are the three dishes that define the city's own cooking. All three are northern: butter and rice rather than tomato and olive oil, the same rule that holds across the rest of northern Italy. Panzerotto is the cheapest way to try Milan on the move.
Brera and Navigli are the two areas most often recommended for a first stay, and Porta Venezia for its walkable, mixed food scene. Centro Storico, right around the Duomo, has the highest concentration of restaurants and also the highest prices and the most tourist menus.
Less than the city's hotel prices suggest. Milan is Italy's most expensive city to sleep in, but an ordinary meal costs roughly what it costs anywhere else in the country: a stand-up coffee is €1.20 to €1.50, and an aperitivo is €10 to €15. This list runs from € for a panzerotto to €€€€ for a Michelin tasting menu.
For the ones on this list, generally yes, especially at the weekend: Ratanà, Trippa, Il Luogo di Aimo e Nadia and Al Garghet's garden all fill up fast. La Latteria is the one flat exception, so arrive right at opening instead.
Building your Milan trip around food? Add the spots you like from this list to a Stippl trip and they sit on the map with the rest of your day, so you can see which one is actually a walk from where you'll already be. Free forever.
Discover food spots in Stippl
Find restaurants and markets on the map, save them to your itinerary, works offline too.







