After beginning his career at AEK Athens, he went on to play in the Austrian Bundesliga with Grödig, St. Pölten and Austria Wien, while also being on the books of Red Bull Salzburg.
He made his first start for the club on 22 April on the final day of the 2011–12 regular season against Doxa Drama, completing the whole 90 minutes.
On 9 May 2019, Fountas signed a deal with Austrian club Rapid Wien through the summer of 2022, with his St Polten contract due to expire.
[18] On 15 December, he scored his third brace of the season, sealing a 3–0 away win against Admira Wacker, which included him in the Team of the Week in the Austrian Bundesliga for matchday 18.
[22] He finished the 2019–20 Austrian Football Bundesliga campaign with 19 goals, to help his club earn a berth in the UEFA Champions League qualifiers.
On 30 August 2020, in his first official game for the 2020–21 season, he scored a hat trick in a 5–0 Austrian Cup win against TSV St. Johann.
On 11 September 2020, Fountas helped his club to win Admira by scoring a brace at the 2020–21 Austrian Football Bundesliga opener.
[23] He scored again during a 2–1 defeat to Arsenal in the Europa League Group stage on 22 October, capitalising on an error by goalkeeper Bernd Leno to put the ball in the net.
[24][25] On 18 January 2021, Fountas spat at Lukas Malicsek in the friendly match between his club and Admira, with the Austrian Bundesliga punishing him for four games.
[35] During a match between DC United and Inter Miami on 18 September 2022, Fountas was accused of racially abusing defender Damion Lowe by calling him the n-word.
[39] MLS ultimately decided that the accusation by a Miami player who claimed to have heard Fountas saying something to Lowe (who apparently did not hear the comment himself) was "credible" but that it could not be verified.
[40] On 21 July 2023, DC United announced the suspension of Fountas along with teammate Nigel Robertha for "possible violations of league policy."
He scored his first international goal on 17 November 2022, coming on for Dimitrios Pelkas and equalising in added time at the end of a 2–2 draw away to Malta.