Milan eats differently from the rest of Italy. Butter replaces olive oil, rice replaces pasta, and saffron turns everything golden. Here is where to find the real Milanese kitchen, neighbourhood by neighbourhood.
Look, Milan isn't Rome, and thank god for that. This is northern Italy, where they cook with butter instead of olive oil, serve risotto instead of spaghetti, and know that saffron and cream make everything better. The two dishes that define this city are risotto alla milanese (that golden, bone marrow-enriched rice that locals have been perfecting for centuries) and cotoletta alla milanese (a plate-sized, bone-in breaded veal cutlet that'll make you forget schnitzel exists). But Milan's food culture goes way beyond sit-down meals. You've got Luini's panzerotti for 3 EUR when you need something fast and perfect, aperitivo culture from 6 to 9 PM where an 8-12 EUR drink gets you access to a buffet that can replace dinner, and panettone available year-round at proper pasticcerie because Milanese don't limit their greatest invention to December. Yes, you'll pay more than in Rome. A decent trattoria lunch runs 15-25 EUR, fine dining hits 50-120 EUR, but the quality matches the price. This is a city that takes eating seriously without taking itself too seriously.
Hit Mag Cafe or Rita around 7 PM for the full Milanese aperitivo experience. Your 10 EUR Negroni or Aperol Spritz comes with access to a buffet spread that locals use as dinner replacement. The canal setting is touristy, sure, but it's touristy for a reason. Grab focaccia, olives, and whatever pasta they've got going, then people-watch as the sun sets over the water.
The queue outside this tiny counter shop tells you everything. For 3 EUR, you get a fried pocket of dough stuffed with tomato and mozzarella that's been Milan's favorite grab-and-go food since 1888. The classic tomato-mozzarella is perfect, but try the spinach and ricotta if you want to feel fancy. Eat it standing up while it's still burning your tongue.
This is where you go for proper Milanese classics without the tourist markup. Order the cotoletta alla milanese (22 EUR) and watch them bring you a veal cutlet that hangs over the edges of your plate. The risotto alla milanese (18 EUR) is textbook perfect: creamy, golden from saffron, with just enough bone marrow to make your cardiologist worry. The dining room feels like someone's nonna decorated it in 1970 and never changed a thing.
Near Santa Maria delle Grazie, this family-run spot serves the city's best cassoeula (braised pork and cabbage stew, 16 EUR) and osso buco (braised veal shanks, 24 EUR). The portions are generous, the wine list focuses on Lombardy, and the waiters will judge you if you order pasta instead of risotto. That judgment is fair.
University area means university prices. The weekday pranzo menu runs 12 EUR for two courses that would cost 20 EUR anywhere else in the city. The risotto changes daily, the secondi lean heavily on braised meats, and the house wine is perfectly drinkable. Students pack this place at 1 PM, so arrive early or late.
Milan's answer to global food halls, with everything from Sicilian arancini (4 EUR) to Korean tacos (7 EUR). The quality varies wildly, but the pizza al taglio from Gusta Pizza and the supplì from the Roman counter are consistently good. It's not authentically Milanese, but sometimes you need options under one roof.
Milan's Chinese community has been here since the 1920s, and it shows in the food quality. Hua Cheng serves proper Dongbei dumplings (8 EUR for 12 pieces), while Ravioleria Sarpi does handmade pasta that puts most Italian places to shame (noodle soups 10-15 EUR). The atmosphere is canteen-style, the service is efficient, and the flavors are exactly what you'd hope for.
Weekend brunch in Isola means joining Milan's creative class for avocado toast (8 EUR), specialty coffee, and people-watching. Pavé does the best cornetti in the neighborhood (2 EUR), plus weekend brunch plates that hover around 12-15 EUR. The space feels like a Brooklyn coffee shop dropped into northern Italy, and that's not a complaint.
Coperto (cover charge) of 2-3 EUR is standard and legal. Don't argue about it, just factor it into your budget when choosing restaurants.
Aperitivo from 6-9 PM can legitimately replace dinner. The buffet food is meant to fill you up, not just provide bar snacks.
Weekday pranzo specials (10-14 EUR) are the best value in the city. Most trattorias offer two courses plus water for less than what dinner costs.
Order these Milanese dishes: risotto alla milanese, cotoletta alla milanese, cassoeula (winter only), osso buco. Skip the pasta unless it's pizzoccheri.
Local wine regions Franciacorta (sparkling) and Oltrepo Pavese (reds) pair perfectly with local cuisine and cost less than Tuscan options.
Never, ever eat at restaurants directly facing the Duomo. Walk two blocks in any direction and your meal quality doubles while prices drop 30%.
Get a personalized itinerary tailored to your travel style and interests.
Plan Your Milan TripThree days covers the essentials: the Duomo rooftop, The Last Supper (book now), aperitivo on the Navigli, and a day trip to Lake Como. Milan is compact and flat, which helps.
6 min read
Milan has a reputation for being expensive, but there are free museums, EUR 5 castles, EUR 3 panzerotti, and an aperitivo culture that replaces dinner. Here is how to do Milan well for less.
4 min read

Aperitivo is not happy hour. It is Milan's defining social ritual: a drink, a buffet, a canal at sunset, and the reason Milanese eat dinner at 9 PM. Here is how to do it properly.
4 min read