Things to do in Milan

Sort by Tribes
Show local favourites
710 Results
  • 1
    Piazza del Duomo

    Piazza del Duomo

    Ranked #1 overall in Milan things to do
    170 reviews
    Sights and Museums, Historic Site, Plaza
    Popular withHistoryArtsyFamilies

    La piazza del Duomo is a beautiful place. I recommend visiting the top of the Duomo! The view is beautiful.

  • 2
    Galleria Vittorio Emanuele II

    Galleria Vittorio Emanuele II

    Ranked #2 overall in Milan things to do
    111 reviews
    Sights and Museums, Shopping, Historic Site, Mall
    Popular withLuxuryArtsyHistory

    Walk into Milan's Galleria and you've got a great view into Italian fashion and architecture. Here, you can't help but admire the aesthetics. Fittingly, the first Prada store opened here ...

  • 3
    Duomo di Milano

    Duomo di Milano

    Ranked #3 overall in Milan things to do
    112 reviews
    Sights and Museums, Historic Site, Church
    Popular withHistoryArtsySpiritual

    This beautiful cathedral in the heart of Milan is not to be missed! View from the top is stunning and worth the climb.

  • 4
    Sforza Castle

    Sforza Castle

    Ranked #4 overall in Milan things to do
    74 reviews
    Sights and Museums, Historic Site, Castle or Palace
    Popular withHistoryFamiliesArtsy

    The shell of a long defunct castle/fortress still stands in the center of Milan. How cool is that. The lawn behind it offers great park sitting opportunity, and the fountain ...

  • 5
    Teatro alla Scala

    Teatro alla Scala

    Ranked #5 overall in Milan things to do
    45 reviews
    Performing Arts, Entertainment, Theatre
    Popular withArtsyHistoryLuxury

    The place to go and see Opera in Italy. If you can't make it to a performance, the adjoining museum has access to one of the boxes.

  • 6
    Stadio San Siro

    Stadio San Siro

    Ranked #6 overall in Milan things to do
    41 reviews
    Performing Arts, Sports, Stadium
    Popular withFamiliesAdventureWellness

    tough to find a way in to the champions league game w/ a scalped ticket, but persevere. they may let you in at half time. definitley worth risking.

  • 7
    Parco Sempione

    Parco Sempione

    Ranked #7 overall in Milan things to do
    39 reviews
    Outdoors, Park, Playground
    Popular withOutdoorsyGreenAdventure

    Beautiful park which can be very crowded in summer. Great for picnics with friends and family. Careful about beggars and men propositioning single women however.

  • 8
    Santa Maria Delle Grazie

    Santa Maria Delle Grazie

    Ranked #8 overall in Milan things to do
    42 reviews
    Sights and Museums, Church
    Popular withHistoryArtsySpiritual

    The ticket system is a little weird, but if you purchased a ticket to see The Last Supper, you stand in line in front of the white building to exchange ...

  • 9
    Pinacoteca di Brera

    Pinacoteca di Brera

    Ranked #9 overall in Milan things to do
    24 reviews
    Sights and Museums, Shopping, Art Gallery
    Popular withArtsyHistorySpiritual

    Brilliant gallery of paintings in Milan. Fairly extensive which much to see. Afterwards, you can explore the lovely neighborhood of Brera for food and drink.

  • 10
    Columns of San Lorenzo

    Columns of San Lorenzo

    Ranked #10 overall in Milan things to do
    23 reviews
    Sights and Museums, Historic Site
    Popular withHistoryNightlifeHipsters

    These Roman ruin columns are a lovely place to enjoy a drink at night, when they are lit up to beautiful effect. Roman ruins are, in fact, a rare sight ...

var ListPage = { maxTries: 20, interval: 0, xhrRequests: [], update: function(url, count, callback){ var fingerprint = "&t=" + (new Date().getTime()); var reqcount = "&req_count=" + count; this.loader("on"); var self = this; var req = new XMLHttpRequest();"GET", url + fingerprint + reqcount, true); ListPage.xhrRequests.push(req); req.onreadystatechange = function() { if (req.readyState === 4 && (req.status === 200 || req.status === 202)) { eval(req.responseText); self.loader("off"); if (req.status === 200 || req.status !== 202 ) callback(req.status); if (req.status === 202) { if (count < self.maxTries) { setTimeout(function(){ListPage.update(url, ++count, callback)}, self.interval); self.interval += 100; } else { callback(req.status); } } } }; req.send(null); }, loader: function(status) { var spinnerD = document.querySelector('.spinnersD'); var spinnerM = document.querySelector('.spinnersM'); if (spinnerD && spinnerM) { if (status === "on") { spinnerD.className = "spinnersD shownow"; spinnerM.className = "spinnersM shownow"; } else { // hide spinnerD.className = "spinnersD"; spinnerM.className = "spinnersM"; } } }, ajax: function(url, callback) { this.update(url, 1, callback); } }; ListPage.ajax("", function(status){ if (status === 200) { HotelRates.ajax(); } }); var HotelRates = { hotels: "", ajaxCalls: function(tryIndex) { if ( { ListPage.update("" + "&" +, tryIndex, function(){ var placeholder = document.querySelectorAll('.metasearch_featured .placeholder'); for (var i = 0; i < placeholder.length; i++) { placeholder[i].style.display='none'; } }); } }, ajax: function() { this.ajaxCalls(1); }, singleAjax: function() { this.ajaxCalls(ListPage.maxTries); } }; if (typeof IntentMedia !== 'undefined' && window.IntentMedia && IntentMedia.trigger) { window.IntentMediaProperties.site_currency = 'GBP', window.IntentMediaProperties.travel_date_start = '' window.IntentMediaProperties.travel_date_end = '' IntentMedia.trigger("onpage_ads_redraw"); }