Jurgen Klopp’s side have parted with an initial £37m for the Colombia international’s signature and he has signed a five-and-a-half-year contract at Anfield.
Liverpool’s Premier League rivals Tottenham Hotspurs had strong interest in Diaz but the 25-year-old had set his sights on a move to the six-time European champions.
Diaz joined Porto from Atletico Junior in the summer of 2019 and he won one Portuguese league title. He has scored 14 goals in 18 Portuguese top flight games this season.
Diaz played in both group stage games for FC Porto against Liverpool in the UEFA Champions League earlier this season.
"I could not be happier that we've been able to get this deal done and bring Luis to Liverpool," Klopp said.
"I have always been a believer in only signing players in January if you would want to sign them in the summer, and that's very much the case with Luis.
"He is an outstanding player and someone we've been tracking for a very long time.
"This team deserved to add quality and when we played against Luis earlier this season, we saw what a danger he is, how fast he is and how his mentality was to help his team."
Diaz has won 32 caps for the Colombia national team and was joint top scorer alongside Lionel Messi with four goals at the Copa America last summer.