The 29-year-old moved to the Premier League outfit from Newcastle United last year, but failed to seal a regular starting spot under manager Jose Mourinho.
After sealing his move, Ba told the Turkish club's official website: "I've had a lot of positive feedback about Besiktas and Istanbul in Turkey from my Senegalese friends. To play in a Muslim country and in a new stadium is definitely very exciting.
"I know what my coach Slaven Bilic Expects from me, and I am open to all sorts of competition. Since hard-working and spirited players like Besiktas fans, I will give everything I've got in order to not to disappoint them."
Ba scored 14 goals during his time at Stamford Bridge.