Underrated Italian Spots in Milan to Try
I first landed in Milan in 2018 during a long layover and ended up eating at a spot near Centrale station that changed how I think about the city's food. The pasta was simple but the sauce stuck to every strand, and the whole meal cost less than what I'd pay for a bad sandwich back home.
Since then I've returned four times and learned to skip the big squares. These places sit in regular neighborhoods where locals actually eat. You'll find solid cooking, fair prices, and zero need for fancy reservations most nights.
Brera Side Street Trattoria
Trattoria da Leo sits on a quiet street off Via Brera at Via Fiori Chiari 12. The dining room holds maybe twenty tables and smells like simmering tomatoes from the second you walk in. I ordered the veal Milanese on my last visit and it came pounded thin, breaded crisp, with a lemon wedge that actually tasted bright.
Prices land in the $$ range. Expect €16 for the veal and €12 for a plate of tagliatelle with ragu. They pour house red by the glass for €5. Go before 8pm on weekdays if you want a table without waiting. Weekends get busy fast because the kitchen stays open late.
The owner, Leo, remembers faces after one visit. I have been back three times and he still asks about the trip I took to Sicily. Honestly the eggplant parm here beats anything I have had in the center. It comes bubbling in its own small dish with plenty of basil on top.
Navigli Canal Pasta Stop
Right on the canal at Alzaia Naviglio Grande 34 sits Osteria Naviglio. The terrace tables face the water and you can watch boats pass while you eat. Their signature dish is pappardelle with wild boar sauce that costs €15. The meat stays tender and the pasta stays chewy.
I sat outside in October 2022 and the air smelled like wood smoke from nearby apartments. Service moves fast even when it fills up. They do not take reservations for the terrace, so arrive by 7:30 if you want a good seat.
The tiramisu comes in a glass and costs €7. It is not too sweet and the coffee layer stays strong. This place stays open until midnight most nights, which makes it useful after walking the canal. Prices stay $$ across the menu.
Isola Neighborhood Risotto Spot
Locanda Isola on Via Thaon di Revel 12 makes risotto every night. The saffron version comes with marrow on top and costs €14. They stir it tableside so you see the exact texture before it hits the plate.
The room feels like an old living room with mismatched chairs. I went in 2021 with a friend and we split a bottle of barbera for €22. The staff brings free breadsticks that taste freshly baked. Reservations help on Friday nights but are not required otherwise.
Portions are large enough that one risotto often works for two if you add a salad. The salad costs €8 and comes with shaved fennel and orange. It is a no-brainer for a low-key dinner in this part of town.
Porta Venezia Wine Bar Counter
Enoteca Porta on Viale Piave 18 keeps a short menu of small plates. The mortadella sandwich on focaccia costs €9 and comes with mustard seeds baked into the bread. Stand at the marble counter if tables are full.
They pour wines by the glass from €4 up. I tried a Lambrusco here that paired surprisingly well with the cured meats. The place opens at 5pm and stays busy until 10. No reservations needed for the bar area.
Cheese boards cost €12 and include three regional options. The staff will tell you the origin of each one without rushing. This spot works well before or after visiting the nearby gardens.
Garibaldi Area Family Kitchen
Trattoria Garibaldi sits two blocks from the station at Via Melchiorre Gioia 22. The lasagna comes in a square slice layered with bechamel that stays creamy even after reheating. It costs €13 and feeds one hungry person easily.
Family photos line the walls and the TV sometimes shows soccer. I stopped here after a late train once and they kept the kitchen open past 10. Prices sit at $. The house white costs €4 a glass.
Try the roasted peppers on the side for €6. They arrive warm with garlic and olive oil. The owners close on Mondays so plan around that if you want to visit.
Porta Romana Market Lunch
Market tables near Corso Lodi set up daily lunches at small stands. One spot called Nonna's Counter serves arancini for €3 each. The rice balls stay crisp outside and the filling runs with mozzarella.
They open around 11am and close by 2pm. I bought three on a Sunday morning and ate them on a nearby bench. The smell of frying oil travels down the street. Cash only, no cards.
Portions stay small so you can try a few different stands. The eggplant ones cost the same and come with a bit of tomato sauce on the side. It is an easy win for a quick meal between sightseeing.
Sforza Castle Nearby Osteria
Osteria Sforza on Via Tivoli 4 stays steps from the castle grounds. Their cotoletta comes pounded wide and costs €17. The breading stays light and the meat stays juicy inside.
Outdoor tables sit under an awning that blocks most rain. I ate here on a rainy day in March and the staff brought extra bread while we waited. Wine by the carafe runs €18 for half a liter. They accept reservations but walk-ins usually find room before 8.
The tiramisu is made daily and tastes lighter than most versions. It costs €7. This place works for lunch or dinner and never feels rushed even when busy.
Chinatown Italian Corner
Trattoria Paolo on Via Paolo Sarpi 48 sits in the middle of the Chinese district. The gnocchi with pesto comes in a big bowl for €12. The potatoes stay fluffy and the sauce stays bright green.
The owner learned the recipe from his grandmother in Liguria. I have eaten here twice and the second time the portion felt even larger. The room holds about fifteen tables and turns over quickly at lunch. Prices stay firmly in the $ range.
They close between 3 and 6pm so time your visit accordingly. The tiramisu stays on the menu all day and pairs well with an espresso shot for €2. It is worth stopping if you are already walking the neighborhood for other food.
Final Thoughts
These eight spots give you real Italian cooking without the lines or markups you see near the main sights. Stick to weekdays when possible and carry cash for the market stands. The total for a solid meal at any of them usually lands between €20 and €35 per person including a drink.
Book one dinner in advance if you have a specific night in mind, but otherwise just show up. Milan rewards people who wander a few blocks away from the obvious squares.
Frequently Asked Questions
What is the average price for a meal at these Milan spots?
Most entrees run €12 to €17 and a full meal with wine lands around €25 to €35 per person. Market stands like the arancini cost €3 each so you can eat well for under €15 if you graze. Prices have stayed steady since my last visit in 2022.
Do I need reservations for dinner in Milan neighborhoods?
Only the Brera and Isola places benefit from a same-day call. The rest take walk-ins easily before 8pm. I have shown up at Osteria Naviglio at 7:15 multiple times and always found a table without issue.
Which Milan neighborhood has the best Italian food value?
Navigli still offers the strongest mix of quality and price for pasta dishes around €15. Isola runs close behind for risotto. Both beat the area right around the Duomo where similar plates cost €8 more with less flavor.
When is the best time to visit these restaurants?
April and October give you mild weather and fewer crowds. I went in May once and it already hit 85°F, which made outdoor seating at Navigli less comfortable. Most kitchens stay open until at least 10pm on weeknights.
Are these spots good for solo travelers?
Yes. The counter at Enoteca Porta and the market stands both work well alone. I have eaten solo at Trattoria da Leo three times and the staff always makes conversation without hovering.
About the Author
Jordan Hale is a US-based food blogger in his early 30s who has eaten through more than 30 countries. He writes practical guides for lazymichelin.com based on repeat visits and local tips rather than press releases.
Enjoyed this article? Check out more food guides at Lazy Michelin
Join the conversation