The 24-year-old Portugal international joined Man City from Benfica last summer for £62m on a six-year deal.
Dias' first season in England proved to be a huge success as he helped Manchester City win the Premier League and Carabao Cup as well as reaching a first ever UEFA Champions League final where they lost out to Chelsea.
Dias made 50 appearances across all competitions last season and won the Premier League player of the season and Football Writers Association player of the year award.
He also added to his individual laurels last week as he was crowned UEFA's defender of the year.
“I’m very happy to sign the new deal. I have enjoyed every single minute of my time at City since joining last year," the 24-year-old said. “Playing for City has surpassed all my expectations and it’s an absolute pleasure to be part of such an incredible squad.
“I would also like to thank Pep and the coaching staff for the way they have helped me to develop as a player and keep pushing me to improve.
“To be part of the squad that achieved so much last season was incredible and made us all hungry to achieve even more. Now I just want to try and play my part in helping us be successful this season and beyond.”
Man City director of football Txiki Begiristain added: “Although he only joined us less than a year ago, in that time Ruben has already proved to be such a vital part of our squad."
“It tells you everything about his quality and importance to the club that we wanted to recognise his impact with this new contract.
“He is everything you would want in a central defender and so much more and he will be a big part of our drive to bring even more success to the club over the next few years.”