Piłkarską karierę Zachara rozpoczynał w Rakowie Częstochowa. Od 2011 roku do 2015 roku był zawodnikiem Górnika Zabrze z roczną przerwą, którą spędził na wypożyczeniu w GKS Katowice. Po powrocie do Zabrza Zachara powoli "przebijał się" do pierwszej drużyny Górnika, chociaż wciąż występował w Młodej Ekstraklasie. Swoje premierowe trafienie zaliczył 8 grudnia 2012 roku w meczu z Lechią Gdańsk. W kolejnym sezonie Ekstraklasy był już podstawowym graczem zabrzańskiego zespołu. W 31 spotkaniach zdobył 11 bramek. Dobrą grą zasłużył na powołanie do kadry narodowej. W reprezentacji Polski zadebiutował 18 stycznia 2014 roku w starciu z Norwegią, a dwa dni później rozegrał pełne 90 minut w meczu z Mołdawią.Poprzedni sezon spędził w chińskim Henan Jianye. Za Wielkim Murem rozegrał 23 spotkania i zanotował 4 trafienia. Na początku lutego bieżącego roku przeszedł operację kontuzjowanego barku, a tuż przed świętami wielkanocnymi rozwiązał kontrakt z klubem. W najbliższym sezonie Zachara będzie bronił barw Wisły Kraków. Na plecach 26-latka tradycyjnie pojawi się numer 20.