Mohammad Nabi in club level has played for Sylhet Royals and Mohammedan Sporting Club of Bangladesh, Afghan Cheetahs in Pakistan and Marylebone Cricket Club in UK. In 2016 he played for Quetta Gladiators in Pakistan Super League (PSL). In 2017 he played for (Sunrisers Hyderabad )in Indian Premier League.
He became the first Afghan player to be sold in the IPL to Sunrisers Hyderabad for the 10th season. He was bought at his base price of 30L.
Nabi played for the Afghan Cheetahs team which competed in the Faysal Bank Twenty-20 Cup 2011-12 in Pakistan. He also played for Marylebone Cricket Club alongside Hamid Hassan.They played on behalf of MCC for the curtain raiser of the English county season against champion Nottinghamshire on 27–31 March 2011. MCC defeated Nottinghamshire by 174 runs and Hamid Hassan took 7 wickets and Nabi 2 wickets.They also played for the MCC in the Twenty20 side as they took on Nottinghamshire, Durham, Sussex and a select Fly Emirates side, in the Emirates Airline Twenty20 Trophy on 1 April.
In January–February 2013 Nabi played for Bangladesh Premier League side Sylhet Royals and helped his team reach the Semi-finals with some excellent performances. He took 16 wickets in 13 matches for Royals and was one of the top batsmen in the tournament. After the Royals had lost Andre Russell due to an injury, their search for an allrounder stopped at Nabi. The demand for the offspinner had come from the team's coach Mohammad Salahuddin, who has been vindicated by Nabi's performance.
He took 2 for 15 in the first match to give the Royals a controlled start against Barisal Burners – a 33-run win. Two more tight spells were followed by his first significant contributions with the bat. In a big chase against Chittagong Kings, Nabi's sense of occasion came forth. His 43 wasn't smash and grab as they chased 173 runs to win, but a more measured effort that gave his side their best win in the tournament's first phase. He had a lull in the next four games before picking up two three-wicket hauls against the Kings and the Khulna Royal Bengals. Nabi has done well at the start of games, having opened the bowling on several occasions. He quickly realised when to slow down his pace or push the ball through to defend against attacking batsmen.
"Nabi made a good start to the tournament, and after a slow period in the middle, he has again started doing well," Salahuddin said. "He is a good cricketer with a lot of variations and it is clear he understands the game quickly. He carries out the plans that we set for him for every batsmen."
Salahuddin had observed Nabi and his teammate Stirling throughout their BPL campaigns and didn't spot much of a difference between them and cricketers from Test nations. "I don't see them much different, they seem to catch on-field situations quickly. I think they are very hungry," he said. "Their attitude has helped our team do well. They have team feelings, and never seemed like outsiders to me. I think they make good team-mates."
In the race to the final match against Dhaka Gladiators, Nabi took the wicket of Chris Gayle who smashed 114 from 51 balls (last 87 runs off 22) to help Dhaka Gladiators enter the final. Nabi finished his innings taking two wickets (economy of 4.25). In Semi-final match against Chittagong Kings, Nabi took two more wickets but couldn't stop the Kings winning the match.
Nabi hails from a well-to-do family that migrated to Peshawar, Pakistan, during the Soviet war in Afghanistan. He has been a key player for the up-and-coming Afghan team, and has been influential in Afghanistan's rapid rise through the ranks of international cricket, taking 11 wickets during the 2009 ICC World Cricket League Division Three, helping Afghanistan finish top and to progress to the 2009 ICC World Cup Qualifier. After finishing 5th and gaining One Day International status Nabi made his ODI debut against Scotland top scoring for Afghanistan with 58 runs.
In Afghanistan's first match of the Intercontinental Cup, which was Afghanistan's debut first-class match, Nabi made 102 in Afghanistan's first innings against a Zimbabwe XI in a team total of 427 all out.
In February 2010, Nabi made his Twenty20 International debut against Ireland, where he took a single wicket. Despite this, Afghanistan lost the match by 5 wickets.
In November 2010, Nabi was appointed Afghanistan's captain for Asian Games; however, Nawroz Mangal was restored as captain after the tournament. Under Nabi's captaincy Afghanistan finished runners-up, losing only to Bangladesh in the final.
In March 2013, Afghanistan Cricket Board (ACB) announced that Mohammad Nabi, will lead the national side in the ICC Intercontinental Cup in the UAE, after Nawroz Mangal was stripped of the captaincy following his dismal show in the limited-over series in Pakistan the previous month. Afghanistan began life under Nabi's captaincy with a comfortable win in the first of two Twenty20 internationals against Scotland in Sharjah. Nabi took two wickets for 12 runs in four overs.
Asghar Stanikzai was appointed as the captain, after Nabi was passed down the captaincy due to loss in group stages at 2015 ICC Cricket World Cup. However, Nabi was picked up for the Afghan team for 2016 Asia Cup Qualifier and 2016 ICC World Twenty20 as middle order batting all-rounder. Though they lost Asia Cup qualifier to move in to the 2016 Asia Cup by losing to UAE, Afghanistan came back strongly in first round of T20 World Cup. Nabi took major responsibility to qualify his team and win against Hong Kong and Zimbabwe in the group stage. Nabi was the man of the match in both these matches and Afghanistan moved to Super 10 round from Group B.
Mohammad Nabi holds the world record for taking the most number of wickets in a caught and bowled fashion in T20I history(7 times in his career).He's the only person to achieve that feat more than 5 times in his T20I career.
During Ireland T20I series in March 2017, he created some records.He scored the fastest fifty by an Afghan player in a T20I (21 balls).
He also hit the most sixes in a T20I innings by an Afghan Player (9) and made the highest score by a batsman batting at number 7 or lower in a T20I and also in any forms of T20(89)