У дорослому футболі дебютував 2000 року виступами за «Дніпро» (Могильов), в якому провів три сезони, взявши участь у 73 матчах чемпіонату, а протягом сезону 2003 років захищав кольори «Шахтаря» (Солігорськ).
Своєю грою за останню команду привернув увагу представників тренерського штабу донецького«Шахтаря», до складу якого приєднався на початку 2004 року, проте закритипись у складі гірників не зумів, зігравши за основну команду лише 2 матчів в чемпіонаті і один в кубку, а більшу частину 2004 року змушений був провести в
«Іллічівці» та «Шахтарі-2».
У сезоні 2005 року грав у російському першому дивізіоні за «Хімки», після чого перебрався до російської «еліти», де став виступати за «Ростов». За підсумками сезону 2007 року ростовчани зайняли останнє місце в чемпіонаті і вилетіли до першого дивізіону, через що Калачов перебрався в «Крила Рад» (Самара).
У кінці січня 2010 року білоруський легіонер повернувся до «Ростова». Наразі встиг відіграти за ростовську команду 90 матчів в національному чемпіонаті.
2004 року дебютував в офіційних матчах у складі національної збірної Білорусі. Наразі провів у формі головної команди країни 62 матчі, забивши 8 голів.