The striker has departed Chelsea after the arrival of Diego Costa saw him drop further down the pecking order, having scored just 14 goals in 18 months at Stamford Bridge.
Since moving to Stamford Bridge from Newcastle United in January 2013, the Senegal international has scored 14 goals in 51 games for the Blues.
The 29-year-old soon fell behind Fernando Torres and Samuel Eto'o in the pecking order, however, and the arrival of Diego Costa from Atletico Madrid this summer has freed him to look for a new club.
Besiktas confirmed the move on with a statement on the club's website before Ba followed suit via his official Twitter page.
WORLD CUP: Beautiful people | Germany homecoming
"I feel so happy because Besiktas fans interest me a lot and the construction of the new stadium impressed me," Ba said. "I'm so excited to play for this club.
"I really want to play. I want to show my potential to everybody quickly.
"Besiktas is a big club and I want to be a part of this. The fans were very warm to me when I arrived here. I hope our close relationship will go on."
Eto'o has since left the club, while the future of Romelu Lukaku continues to be speculated upon after two season-long loan deals.
The Belgium international, who scored one goal at the World Cup, insists he will not settle for irregular first-team football this season and is open to leaving Chelsea permanently.