The left winger, currently on World Cup duty for Serbia, has signed a five-year contract with the Russian club.
He leaves the Reds after making just five substitute appearances in one and a half seasons. The first of these was in January 2009, in an FA Cup win over Tottenham Hotspur, shortly after his arrival from Partizan Belgrade in that month's transfer window.
Tosic appeared off the bench twice more in 2008/09, at West Bromwich Albion and Hull City. In 2009/10, he came on in the Carling Cup victories over Barnsley in October and Tottenham in December but then joined German club FC Cologne on loan from January until the end of the season.
The 22 year-old played 13 times for Cologne and they were reportedly keen to take him on a temporary basis again next season. But CSKA's swoop for a permanent deal has dashed that aspiration and when Tosic's World Cup campaign ends, he'll embark on a new chapter in his career in the Russian league.