Rana made his first-class debut on 22 November 2000, playing for Khulna Division against Barisal Division. His first wicket was that of Towhid Hossain, bowled, but he did not bat in the match. In his next first-class match, against Dhaka Metropolis for Khulna, Rana batted for the first time; he scored 8 and 18 not out. In the match, 19 other players made their first-class debut as this was the first match for both Khulna and Dhaka in Bangladesh's new National Cricket League. Rana made his one-day debut the same month; on 25 November 2000, he played for Khulna against Barisal Division. In the match he scored 22 runs and took 3 wickets for 20 runs. Once again, Rana was one of 20 people to debut in the match in the new Ispahani Mirzapore Tea One-Day League. In his first season with Khulna, Rana played 10 first-class matches, scoring 299 runs at 24.91 and taking 35 wickets at 20.14, and 10 one-day matches, scoring 70 runs at 11.66 and taking 10 wickets at 26.00.
In the 2001/02 season, Rana played just two first-class and two one-day matches, with little success compared to the previous year. He experienced more success in 2002/03, playing in six first-class matches – in which he scored 390 runs at 48.75, including four half-centuries, and took 27 wickets at 20.00 – and six one-day matches, scoring 28 runs at 5.60 and taking 18 wickets at 9.55. During the 2003 English cricket season, Rana represented the Old Mid-Whitgiftians in the Surrey Championship. Rana was chosen to be part of the Bangladesh A squad that toured Pakistan in 2003/04.
Between 30 January 2003 and 8 February 2005, Rana played no domestic cricket. Rana made his ODI debut against England at Chittagong on 7 November 2003 in the first match of a three-match ODI series. Filling in for fellow-spinner Mohammad Rafique, he dismissed Michael Vaughan with just his third ball of the match and became the first Bangladeshi to take a wicket in his first international over. Rana played in all three matches as Bangladesh lost the series 3–0; the wicket in his first over of international cricket was his only one of the series and he scored 46 runs at an average of 23.00.
In December 2003, Rana was part of the Bangladesh A squad that toured in Pakistan and played in the Pakistan Cricket Board Patron's Cup and the PCB Patron's Trophy. Rana made Test debut on 19 February 2004, playing against Zimbabwe as part of Bangladesh's tour of the country. He bowled 20.2 overs in the match, taking 2 wickets for 66 runs. His first Test wicket was that of Sean Ervine, caught by Tapash Baisya. Rana batted twice in the match, making scores of 35 not out and 32. Bangladesh lost the match by 183 runs and Rana stayed in the team for the second match. He batted once, scoring 39, and bowled just 6 overs in a match curtailed by the weather. The result of the Test was a draw, ensuring Bangladesh lost the series 1–0 to Zimbabwe. Rana finished the series as Bangladesh's leading batsman, with most runs (105) and the highest batting average (52.50) for the team.
In April 2004, Rana was given a "rookie contract" with the Bangladesh Cricket Board; the six-month contract provided him with a basic salary, lower than that of senior players. When Bangladesh toured the West Indies in May–June 2004, he took 3/21 in ten overs in an ODI in Kingstown, St Vincent. In the match he opened the batting and ran out the West Indian wicket-keeper, Ridley Jacobs. Bangladesh lost the match by one wicket. He played in all the matches of the three-match series and topped the batting averages for Bangladesh with 40 runs at an average of 40.00, he also took five wickets at 14.00, putting him second in Bangladesh's bowling averages. On the same tour, Rana played his third Test match for Bangladesh. In the match, which the West Indies won by an innings and 99 runs, Rana made scores of 7 and 35, and took no wickets while conceding 100 runs.
When Zimbabwe toured Bangladesh in January 2005, Rana was twice man of the match in the ODI series. In the fourth match of the series, he took his career best figures of 4/34. He played in four matches of the five match series, scoring 37 runs at 18.50 and taking nine wickets at 15.22, finishing as Bangladesh's lead wicket-taker for the series.
Although he would later represent Khulna in first-class matches, Rana's last one-day match for them was on 9 March 2006.
After playing his last ODI in March 2006, Rana played four more one-day matches, all for Bangladesh A. At the same time, he continued to represent Khulna Division in first-class cricket. In the Bangladesh 2006/07 cricket season, Rana played 10 first-class matches, in which he scored 571 runs at 35.68 including two centuries, and took 34 wickets at 18.85. The ten first-class matches included one fixture in which he represented Bangladesh A against Zimbabwe A. The last match Rana played was a first-class match against Dhaka Division. He captained his side in the match, which Khulna lost, although he took nine wickets in the match.
Two months before his death, Rana was involved in a motorcycle crash from which he emerged unharmed. Aged 22, Rana died in an accident on 16 March 2007 while the Bangladesh cricket team were in the Caribbean for the 2007 Cricket World Cup. The accident happened when his motorcycle collided with a microbus and then hit an electrical pole at the side of the road. Rana died of severe head injuries. Sajjadul Hasan, who was a cricketer for Khulna Division, was also killed in the accident. The then Bangladesh captain, Habibul Bashar, said "It's shocking news for all of us, he was a friend and a team-mate. The boys are very upset".
The Bangladesh team declared before their first World Cup match that they would play in memory of Rana, and held a one-minute silence in his memory before the start of play. They wore black arm bands during the match, in which they picked up an unexpected five wicket victory over India. Bangladesh captain Habibul Bashar dedicated the win to Rana. At the end of the match he walked around the ground holding a picture of Rana and acknowledged the Bangladeshi spectators. Rana's death at the age of 22 years, 316 days makes him the youngest ever Test cricketer to die. In 2009, the Bangladesh Cricket Board set up a welfare trust for current and former players, and staff and officials associated with the BCB. As part of the scheme, all the proceeds from the ticket sales for the first ODI between Bangladesh and Zimbabwe in 2009 were given to Rana's family.
Records:Highest fourth wicket partnership for Bangladesh: 120 with Habibul Bashar v West Indies, 4 June 2004
Man of the match awards: