Nach guten Leistungen beim Barranquilla FC wechselte Díaz im Juli 2017 zu Atlético Junior.[6] Am 27. August gab er sein Ligadebüt, als er bei der 2:3-Auswärtsniederlage gegen Once Caldas in der 75. Spielminute für Matías Mier eingewechselt wurde.[7] Sein erstes Tor gelang ihm am 20. September beim 3:1-Heimsieg im Achtelfinalrückspiel der Copa Sudamericana 2017 gegen den paraguayischen Verein Club Cerro Porteño.[8] Er kam in der Finalización 2017 in 12 von 19 möglichen Spielen zum Einsatz, in welchen er aber ohne Torerfolg blieb.[9]
In der folgenden Apertura 2018 schaffte er es allmählich in die Startformation der Mannschaft und erzielte drei Tore in 19 Einsätzen.[10] Die Finalización 2018 gewann er mit Junior und hatte mit 10 Toren einen großen Bestandteil an dieser Meisterschaft.[11] Das Endspiel der Copa Sudamericana 2018 gegen Athletico Paranaense verlor man letztlich.[12] In der folgenden Apertura 2019 erzielte er in 17 Ligaspielen drei Tore und gewann mit Junior erneut die Meisterschaft.[13]
Am 10. Juli 2019 wechselte Díaz für eine Ablösesumme in Höhe von 7 Millionen Euro zum portugiesischenErstligistenFC Porto, wo er einen Fünfjahresvertrag unterzeichnete.[14][15] Sein Debüt in der Liga NOS gab er am 10. August (1. Spieltag), als er bei der überraschenden 1:2-Auswärtsniederlage gegen Gil Vicente FC in der zweiten Halbzeit für Tiquinho Soares eingewechselt wurde.[16] Sein erstes Tor erzielte er eine Woche später beim 4:0-Heimsieg gegen Vitória Setúbal, bei welchem er auch eine Vorlage verzeichnen konnte.[17]
Am 30. Januar 2022 wechselte Díaz für 45 Millionen Euro zum FC Liverpool in die englische Premier League. Übereinstimmenden Medienberichten zufolge erhielt er einen Vertrag bis Juni 2027.[18]
Im Rahmen der freundschaftlichen Länderspiele gegen Venezuela und Argentinien wurde er Ende August 2018 erstmals in den Kader der A-Auswahl einberufen.[20] Sein Debüt bestritt er dann am 11. September, als er beim 0:0-Unentschieden gegen die Argentinier in der 78. Spielminute für Juan Cuadrado eingewechselt wurde.[21] Sein erstes Länderspieltor gelang ihm am 26. März 2019 bei der 1:2-Testspielniederlage gegen Südkorea.[22]