The Portugal attacking midfielder says he is staying put at City because it “gives me that opportunity to keep winning”.
“I’ve had six incredible years at Manchester City and I’m delighted to extend my time here,” Silva, who had been attracting interest from Barcelona and Paris Saint-Germain this summer, said.
“Winning the treble last season was extremely special and it’s exciting to be part of a squad where there is such a hunger and passion.
“I love the manager, my team-mates and the fans and hope we can share even more great memories in the coming years.”
Director of football Txiki Begiristain says Silva has “become one of the best players in the world” at City and believes the 29-year-old can help the club achieve even more success in the future.
“Bernardo has been exceptional during his time at the Etihad, so we’re delighted that he has signed a contract extension with the club,” Begiristain said.
“His quality and technical ability is fantastic – and alongside his hard work and professionalism, he has become one of the best players in the world.
“Bernardo was so important in our treble-winning season and we are sure he can help deliver even more trophies in the next few years.”