The move came a day after the midfielder left Real Madrid, where he had spent 25 years.
Besiktas said in a statement on its website that Guti would be paid 2.7 million euros ($3.5m) a year.
The 33-year-old, who joined Real's youth setup in 1985 and made his first-team debut a decade later, helped Real win five domestic league titles and three European Champions League titles.
At Besiktas he will be reunited with coach Bernd Schuster, who was in charge at Real between 2007 and 2008.
Besiktas, who are based in the European part of Istanbul, won the Turkish league in 2008-09 but finished fourth last season.
Guti leaves Real Madrid, mulls Besiktas offer
Raul leaves Real Madrid, eyes England or Germany
Confident Karun hopes to rev it up in Istanbul
Serena to miss three Tour events with foot surgery
Besiktas end United's long unbeaten home record