Stewart started his footballing career at Rangers' Academy and played there until he was 13. He then played in the Hearts youth system, but was released due to his height. He then trained with Falkirk and Stirling Albion for almost a year, before joining Syngenta Amateurs in 2007.[4]
Cowdenbeath
In July 2010, Stewart signed with Cowdenbeath of the Scottish First Division. He made his league debut on 7 August, in a 2–0 home loss against Ross County.[5] On 6 November, he scored his first professional goal.[6] He finished the season as the club's top scorer with nine goals.
Dundee
On 7 April 2014, it was confirmed that Stewart had signed a pre-contract agreement with Dundee and would join the club upon the expiry of his Cowdenbeath contract.[7] He scored on his debut as Dundee beat Peterhead 4–0 in the first round of the Scottish League Cup on 2 August 2014.[8] In January 2015, he signed a new contract until 2017.[9] Stewart was named as SPFL Player of the Month for January 2015, after scoring five goals in seven matches during the month.[10] He was named as one of four players on the shortlist for the 2014–15 PFA Scotland Players' Player of the Year award,[11] and was nominated for a second consecutive season in April 2016.[12]
Having rejected an extension, Stewart began the last year of his Dundee contract with six goals in three League Cup matches, amid rumours linking him with a move to other SPFL clubs or to the English Championship.[13][14]
Birmingham City
On 12 August 2016, Stewart signed a three-year contract with Birmingham City;[2] the fee was officially undisclosed, but reported by the Dundee Evening Telegraph as an initial £500,000, potentially rising to more than £1 million.[15] Stewart made his debut as a late substitute in a 1–1 draw with Wigan Athletic on 16 August,[16] and continued off the bench until making what the Birmingham Mail dubbed a deserved first start in an unusually attacking lineup at home to Preston North End. His team came back from 2–0 down to draw, and Stewart's own performance was ineffective.[17] He had a run of four starts in December,[6] after Gianfranco Zola had replaced Gary Rowett as manager,[18] but ended the season as a fringe player, with 21 league appearances, of which 6 were in the starting eleven, without scoring.[6]
Loans
On 27 June 2017, Stewart signed for Aberdeen of the Scottish Premiership on loan for the 2017–18 season.[19] He made 34 appearances and scored three goals in all competitions for the club.[6] Stewart was loaned to Kilmarnock, also of the Scottish Premiership, in August 2018.[20] He scored on his debut after "a run from half way that ended with an exquisite chip over the goalkeeper" to clinch a 2–0 win away to his former club Aberdeen,[21] and scored again in his second match, albeit in a losing cause away to Hibernian.[22] Stewart scored eight goals in 16 appearances for Kilmarnock in the first part of the 2018–19 season, which helped them into third place in the league.[23]
Birmingham City opted to recall Stewart from his loan to Kilmarnock in January 2019,[23] and then loaned him to Aberdeen again, until the end of the season.[24] He went straight into the starting eleven for the following day's Scottish Cup match, played the whole match, and shot against the crossbar from 18 yards (16 m), as Aberdeen drew 1–1 at home to third-tier Stenhousemuir.[25] He ended the season with two goals from 20 appearances in all competitions (one from 15 in the league).[22]
Rangers
On 13 June 2019, Rangers announced that Stewart had joined the Scottish Premiership club on a two-year contract.[26] Stewart was a free agent with his contract at Birmingham City allowed to expire. He made his competitive debut for Rangers on 9 July 2019 in a 4–0 win over St Joseph's of Gibraltar in the first leg of the first qualifying round of the 2019–20 UEFA Europa League.[27]
After he won the Scottish Premiership title with the club, Rangers officially announced Stewart's departure in June 2021 and thanked him for his contributions.[28]
In July 2022, Indian Super League club Mumbai City announced the arrival of Stewart on a two-year deal.[33] On 18 August, he scored a penalty on his debut for the club against Indian Navy in the Durand Cup, which ended in a 4–1 win.[34][35] Stewart scored a hat-trick in the Durand Cup quarter-finals against Chennaiyin.[36] He also featured in group stage games of the club in 2023–24 AFC Champions League. On 10 January 2024, Mumbai City announced that they and Stewart had agreed to mutually part ways.[37]
Kilmarnock return
On 18 January 2024, Stewart returned to Scotland and signed with former club Kilmarnock, playing under Derek McInnes, his former manager at Aberdeen.[38]
Mohun Bagan Super Giant
Stewart joined another Indian Super League club, Mohun Bagan, on 19 July 2024 on a one-year contract.[39]
Career statistics
As of match played 18 September 2024
Appearances and goals by club, season and competition
^Mumbai City's third goal against NorthEast United on 19 January 2023, attributed by Soccerway to Stewart, was officially recorded as an own goal.[47][48]
^"Greg Stewart". Aberdeen FC Heritage Trust. Archived from the original on 29 May 2019. Retrieved 29 May 2019.
^"Patience pays off for Stewart". Scottish Professional Football League (SPFL). 25 March 2011. Archived from the original on 31 December 2019. Retrieved 31 December 2019.
^For 2022 Durand Cup: match reports from 18 August to 18 September 2022, linked from "Matches". Mumbai City FC. Archived from the original on 19 September 2022. Retrieved 19 September 2022.
^For 2023 Durand Cup: match reports from 5 August to 27 August 2023, linked from "Fixtures: Durand Cup: 2023". Mumbai City FC. Archived from the original on 16 July 2024. Retrieved 19 September 2022.