The 30-year-old ex-Netherlands international, whose short-term deal with Deportivo La Coruna came to an end on New Year's Eve, has signed a two-and-a-half year deal.
Besiktas said in a statement that Babel will earn £1.07m for the rest of this season and then £1.8m per year for the next two campaigns.
He previously spent two years in Turkey at Kasimpasa before leaving in 2015.
Babel, who played for Liverpool between 2007 and 2011, was part of the Dutch side that reached the 2010 World Cup final.
Find all the latest football transfers on our dedicated page.
Former Liverpool forward Ryan Babel has joined Turkish side Besiktas.