Gafarow tritt seit 2007 beim Eastern-Europe-Cup an. Dabei erreichte er bisher 13 Podestplatzierungen, darunter sechs Siege. In der Saison 2008/09 belegte er den zweiten und in der Saison 2010/11 den ersten Platz in der Gesamtwertung des Eastern-Europe-Cups. Sein erstes Weltcuprennen lief er im Dezember 2007 in Rybinsk, welches er auf dem 23. Platz beendete und damit auch seine ersten Weltcuppunkte gewann. Im Januar 2009 holte er dort mit dem dritten Platz seine bisher beste Platzierung in einen Weltcuprennen. Bei den nordischen Skiweltmeisterschaften 2009 in Liberec belegte er den 42. Rang im Sprint. Bei der russischen Skilanglaufmeisterschaft 2012 in Tjumen gewann er Bronze im Sprint. Zu Beginn der Saison 2013/14 bei den Nordic Openings in Kuusamo belegte er den zweiten Platz im Sprint. Bei den Olympischen Winterspielen 2014 in Sotschi erreichte er den 12. Platz im Sprint. Die Saison beendete er auf dem 41. Rang in der Weltcupgesamtwertung und dem 12. Platz in der Sprintwertung. Bei der Winter-Universiade 2015 in Štrbské Pleso gewann er Silber im Sprint und Gold zusammen mit Swetlana Nikolajewa im Mixed Teamsprint. Im Dezember 2016 siegte er im Alpencup in Goms im Sprint. Bei den nordischen Skiweltmeisterschaften 2017 in Lahti belegte er den 17. Platz im Sprint.