Born in Svrljig, Stefanović came through the youth ranks of Radnički Niš, making his first senior appearances in 2004. He was transferred to Zemun in the 2007 winter transfer window. After debuting in the top flight of Serbian football, Stefanović switched to Voždovac in the summer of 2007. He recorded just one appearance for the club, before moving to Borac Čačak in the 2008 winter transfer window. Over the following 18 months, Stefanović failed to make any appearances for the club, being completely overshadowed by more experienced Saša Radivojević and Branko Grahovac. He subsequently joined Banat Zrenjanin, collecting nine appearances in the 2009–10 Serbian First League.
In July 2011, Stefanović moved to Portugal and joined Santa Clara.[1] He was the team's first-choice goalkeeper in the 2011–12 season, playing the full 90 minutes in all 30 games. In June 2012, Stefanović signed a three-year contract with Porto.[2] He was immediately assigned to their reserve team, playing regularly in the 2012–13 season.
In the summer of 2015, Stefanović signed with Primeira Liga side Moreirense. He made 31 league appearances in his debut season, helping them to avoid relegation. In July 2017, Stefanović was transferred to Spanish club Córdoba.[3]
In late 2018, Stefanović returned to Portugal and rejoined his former club Arouca.