West Bromwich Albion, Delhi Dynamos, Peterborough United
Born in Aston, Birmingham, Nabi joined the academy of West Bromwich Albion as an eight-year-old. After rising through the academy ranks, he signed his first professional contract with the club in 2011. He was named in a matchday squad for the first time on 12 January 2013 in an away Premier League match at Reading, remaining unused as West Brom lost 3–2. After the 2014–15 season, Nabi was named Albion's Young Player of the Season.[For the under-21 team, he recorded 26 goals and 12 assists in 73 games.
On 28 August 2015 it was announced that Nabi would be loaned to the Delhi Dynamos of the Indian Super League for the 2015 season. Nabi was the first player to be loaned from a Premier League club to an ISL team.
On 4 October, he made his professional debut for the Dynamos in their opening match of the season against Goa at the Fatorda Stadium, coming on as a 73rd-minute substitute for Chicão as they fell 2–0. On 19 November, he scored his first professional goal, opening a 3–1 win over FC Pune City at the Jawaharlal Nehru Stadium.
He added a second on 3 December, as the team who had already qualified for the play-offs came from behind to achieve a 3–3 home draw against Kerala Blasters. In the last game of the regular season three days later, he scored again in a 2–3 loss to Goa, and finished the season with 3 goals from 11 games as they were eliminated by the same team in the semi-finals.
On 21 January 2016, Nabi joined Peterborough United for an undisclosed fee, signing a contract lasting until 2019. Two days later, as a 57th-minute substitute for Erhun Oztumer, he made his debut in English football, in the Posh's 2–1 loss to Gillingham in League One. On 13 February, he made his first start for the team.