Karavayev made his debut in the Russian Premier League for CSKA Moscow on 2 December 2013 in a game against FC Rostov.
[2] Karavayev joined Dukla Prague of the Czech First League on a season-long loan deal during the summer of 2014.
[3] On 16 August 2016, he returned to the Czech Republic, signing on the permanent basis with AC Sparta Prague.
[5] On 2 September 2019, he signed a 4-year contract with the Russian Premier League champion Zenit St.
[13] He appeared as a second-half substitute on 21 June in the last group game against Denmark as Russia lost 1–4 and was eliminated.