Ashraful made his first-class debut on 22 November 2000, playing for Dhaka Metropolis cricket team. He opened the batting, scoring 41 and 6; Ashraful also claimed five wickets for 59 runs in the first innings with his leg-spin bowling.Three days later Ashraful made his list A debut, again playing for Dhaka Metropolis and opening the batting he scored 22 and took two wickets as his team won the match. Ashraful scored his maiden first-class century in his second match, making 101 against Khulna Division. The seven wickets Ashraful took for 99 runs in a match against Chittagong Division in January 2001 remain his best bowling figures. Over the course of the season he played ten first-class matches – scoring 585 runs at an average of 30.78, including two centuries, and taking 39 wickets at an average of 25.48, including three five-wicket hauls. He also played nine list A matches, scoring 85 runs and taking four wickets.
Ashraful made his ODI debut against Zimbabwe on 11 April 2001, where he made 9 runs and Bangladesh lost the match by 36 runs. He took his first international wicket in the match, that of Andy Flower.
Ashraful made his test debut on 6 September 2001 against Sri Lanka. He top-scored in each innings, and although Bangladesh slumped to an innings defeat, Ashraful scored 114, and in the process became the youngest player to score a Test century, beating Mushtaq Mohammad’s record, and was named man of the match. Trevor Chappell, a former coach of Bangladesh’s national side, commented that “His determination, commitment and attention to detail would put a mature and an established person to shame. The manner he concentrates on his batting made me believe that the lad is destined to have a long cricketing journey. Following the century, Ashraful began receiving high expectations. However, a prolonged string of poor performances and soft dismissals resulted in him being dropped from the national team.
He had a poor first World Cup – the 2003 Cricket World Cup – making 71 runs at an average of 14.20, with Bangladesh being eliminated in the Group Stage.
In February and March 2004, Bangladesh toured of Zimbabwe. At the time, Zimbabwe were without many of their senior players, but still won the Test series 1–0 and the ODI series 2–1. The solitary ODI victory was Bangladesh’s first international win since defeating Pakistan in the 1999 World Cup; Ashraful scored 51 runs from 32 balls in the match and was named man of the match. Ashraful returned to the team in December 2004 against the Indian cricket team and scored his second century, 158 not out, claiming the record for the highest individual Test score by a Bangladeshi. India’s captain, Sourav Ganguly, described the innings as one of the best Test innings he had seen.
In May and June 2005, Bangladesh toured England for a two-Test series against the hosts and a triangular ODI tournament involving England Australia. Although they won just one ODI out of six, their solitary victory against Australia was described by Wisden as “the biggest upset in one-day international history” Ashraful scored 100 to help his side to victory and was named Man of the Match for his efforts. He scored two more half centuries in the series, finishing with 259 runs at an average of 43.16, making him third-highest run-getter for the series.
In 2006 he scored his third century, with 136 in the first test against Sri Lanka. In his maiden match as captain of Bangladeshi, during the 2007 season, against Sri Lanka, he made 7 runs in the first innings and the 37 in the second. In the second match of the tour and his captaincy Ashraful was out for a duck in the first innings but scored his fourth century in the second innings. He scored 129 not out, making him the first Bangladeshi cricketer to score 4 centuries.
In November 2006 he set a league record score of 263, against Chittagong Division for Bangladeshi first-class cricket – although this record has since been bettered by Raqibul Hasan.
Ashraful was selected for the Asian squad in the inaugural Afro-Asia Cup. With bowler Mashrafe Mortaza, he was one of two Bangladeshi players in the 15-man squad. Ashraful played in two of the matches, but failed to score a run.
Sonargaon Cricketers, a new team in the Dhaka Premier Division League for the 2005/06 season, signed Ashraful and Mohammad Rafique. The team lost four of its first five games and sought a change of leadership in an attempt to improve its results. Ashraful was appointed captain at a time when the club was facing relegation. Under his leadership, Sonargaon finished second in the league. The opening match of the two-Test series against Sri Lanka in February and March 2006 was played at Chittagong Divisional Stadium, the first international match the ground hosted. He scored 136 in the first innings, bringing up his third Test century; he received the man of the match award, although Sri Lanka won by eight wickets. Bangladesh lost the second Test by ten wickets and the series 2 0, with Ashraful managing 37 runs in the match and claimed the wicket of Mahela Jayawardene.
He played for Rainhill CC in a local cricket league in England.
The West Indies hosted the 2007 Cricket World Cup in March and April; Ashraful was included in the 15-man squad led by Habibul Bashar. Bangladesh made it to the second stage of the competition and finished seventh. Along the way the team caused an upset by India to help knock them out of the tournament. Ashraful scored 87 runs from 83 balls against South Africa in the course of Bangladesh’s 67-run victory. His innings was the highest score by a Bangladesh player in World Cups and he was named man of the match for the performance. With 216 runs from 9 matches at an average of 36, Ashraful was Bangladesh’s highest run-scorer in the tournament.
On 6 February 2009, Ashraful took part in a player auction for the 2009 Indian Premier League. The Mumbai Indians bought him for his base price of US$ 75,000, but he only played one game, scoring just 2 runs