Начал клубную карьеру в 2005 году в сербской команде «Атлас». С 2006 по 2010 год играл за другой сербский клуб «Хемофарм». Сезон 2010-11 провёл в Италии, где выступал за «Бенеттон». В июне 2011 года подписал двухлетний контракт с испанской «Валенсией»[1]. В июле 2013 года переговоры о новом контракте между клубом и игроком зашли в тупик, и Маркович стал свободным агентом[2]. В октябре 2013 года подписал однолетний контракт с клубом «Банвит»[3].
В июне 2014 года Маркович подписал двухлетний контракт с клубом «Малага»[4][5].
13 августа 2016 года Маркович принял решение продолжить свою карьеру в российском клубе «Зенит»[6]. Соглашение рассчитано на один год с возможностью продления. В сезоне 2016/2017 Стефан с одноклубниками будет выступать в Единой лиге ВТБ и Еврокубке.
На Олимпиаде 2016 Маркович в составе сборной Сербии стал серебряным призёром игр, проводя на площадке в среднем 22,4 минуты игрового времени, набирая по 6,2 очка и отдавая 3,2 результативных передачи. После окончания турнира объявил о завершении карьеры в национальной команде. Его уход был разочарованием как для фанатов сборной Сербии, так и для игроков, для которых Маркович был одним из ветеранов-лидеров. Милош Теодосич, с которым Маркович начинал выступать ещё за юношескую команду, так отозвался об этом решении: "сборная потеряла очень много с его уходом. Он был душой команды! Я надеюсь, что ещё осталась возможность передумать". Маркович завершил карьеру на мажорной ноте, сыграв решающую роль в ключевой и очень трудной победе в четверть-финале Олимпиады над сборной Хорватии.