The Istanbul-based football club announced their new transfer online welcoming Vida to his new home.
Besiktas said on Twitter and Instagram that Vida inked a contract to play with Besiktas until the end of the 2021-2022 season.
At a press conference, Vida said, "I came to a big family. There were other offers but I made my decision. We have a great team.
"And our manager and fans are also magnificent. I'm looking forward to stepping on the pitch. I believe we will succeed."
The Croatian international previously played for Ukraine's Dynamo Kyiv for five years.
This season Vida scored two goals in 18 club appearances.
In his five-year stint with Kyiv, he helped them win two Ukrainian Premier League titles in 2015 and 2016.
At Besiktas, Vida is expected to play alongside former Real Madrid veteran Pepe.