He made his debut for Persepolis in a Hazfi Cup match against Kargar Boneh Gaz Bushehr as a substitute for Mehdi Taremi.
[11] On January 16, 2019, Zahedi joined South Korean club Suwon Samsung Bluewings[12] on undisclosed terms.
[13][14] The fiasco created some controversy in Korea, prompting criticism of the Suwon Bluewings leadership[15][16][17][18] and leaving Shahab Zahedi without a club until August.
Zahedi signed for Ukrainian club FC Olimpik Donetsk on 4 August 2019 as a free agent,[19] following an extended period without any professional football.
In his second season with Olimpik Donetsk, Zahedi exceeded his first season's total goal tally on 6 December 2020, following a brace against Rukh Lviv,[20] topping the Ukrainian Premier League's goalscorer charts in the process and generating speculation of a transfer to Ukrainian heavyweight Dynamo Kyiv.
[22] Ukrainian sports media reported that Zorya had paid a transfer fee of around 360 thousand euros to Olimpik Donetsk and that Zahedi had turned down an offer from Portuguese club Rio Ave.[23] Zorya Luhansk's press service commemorated the announcement by publishing a video highlight reel of Zahedi's performances over his time in Ukraine.
[25][26] Zahedi began to stake his place in the 2021–22 Ukrainian Premier League, finishing the first half of the season with 6 goals in 922 minutes played over 16 matches.
[28] Zahedi then made his debut in the inaugural season of the UEFA Europa Conference League against AS Roma, coming off the bench in a 3–0 loss.