Dimarco speelde vanaf 2004 in de jeugdopleiding van Internazionale. Op 11 december 2014 mocht de linksback zijn debuut maken voor het eerste elftal, toen in de UEFA Europa League met 0–0 gelijkgespeeld werd tegen FK Qarabağ. Tijdens dat duel viel hij zes minuten voor tijd in voor Danilo D'Ambrosio. Ten tijde van het duel had Inter zich reeds geplaatst voor de volgende ronde.[1] In de competitie beleefde de verdediger zijn vuurdoop op de laatste speelronde op 31 mei 2015, toen met 4–3 van Empoli werd gewonnen. Tijdens dit duel mocht Dimarco een minuut voor tijd het veld betreden als vervanger van aanvaller Rodrigo Palacio.[2] In januari 2016 werd de vleugelverdediger voor een half jaar gehuurd door Ascoli.[3] Na dit halve seizoen vertrok Dimarco opnieuw op huurbasis; nu nam Empoli hem over voor het seizoen 2016/17. De club dwong tevens een optie tot koop af.[4] In dit seizoen speelde hij twaalf wedstrijden voor Empoli. FC Sion nam hem in de zomer van 2017 voor vier miljoen euro over van Inter; in Zwitserland tekende hij voor vier seizoenen.[5] In Zwitserland speelde hij negen competitiewedstrijden, waarna Internazionale hem voor zeven miljoen euro terughaalde naar Milaan.[6] Hij werd direct voor één seizoen verhuurd aan Parma, dat ook Alessandro Bastoni en Jonathan Biabiany op huurbasis overnam.[7] In januari 2020 werd Dimarco voor anderhalf seizoen verhuurd aan Hellas Verona.[8] Na zijn terugkeer bij Internazionale kreeg hij van coach Simone Inzaghi meer speeltijd.