Díaz played for the Naranjas de Villa Clara in the Cuban National Series. He defected from Cuba, leaving Holguin and arriving at Monte Cristi, Dominican Republic, twelve hours later. He signed as a free agent with the Cleveland Indians in 2013, receiving a $300,000 signing bonus. 
Díaz played for the Carolina Mudcats of the Class A-Advanced Carolina League in 2014.  Playing for the Akron Rubberducks of the Class AA Eastern League in 2015, Díaz was named an All-Star.  The Indians promoted him to the Columbus Clippers of the Class AAA International League in September,  and assigned him to the Arizona Fall League after the 2015 regular season.  Díaz began the 2016 season with Akron and was subsequently promoted to Columbus, where he won the International League Rookie of the Year Award. 
Díaz earned a non-roster invitation to the Indians' 2017 major league spring training camp. After batting .458 (22 for 48) with a 1.252 OPS during spring training, and after injuries to other players forced the Indians to adjust their roster, Díaz was named the Indians' starting third baseman for the start of the 2017 season.