The 20-year-old won a gold medal with Mexico at this summer's Olympic Games and will move to Portugal from Mexico City outfit Club America at the end of the season.
A statement on fcporto.pt read: "Diego Reyes, 20, will be a Porto player. The young Mexican has signed a contract until 2018 and will join the Dragons for the start of next season.
"Reyes is one of the most promising centre-backs in the world, despite his youth. In the summer he became an Olympic champion with Mexico and attracted the interest of several leading European clubs."