In a statement on the CMVM, Benfica announced that they have paid €15m (£13.7m) outright for Otamendi.
The 32-year-old made a name for himself in Portugal with FC Porto between 2010 and 2014.
From there, he spent a year in Spain before joining Man City in the summer of 2015.
Argentine international Otamendi became an important figure in the City defence, making 210 appearances for the Manchester club.
During his half-decade in Manchester, Otamendi won two Premier League titles and seven domestic trophies.
His form in the 2017-18 season saw him named in the PFA Team of the Year.