ODI debut against England in 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, playing in both the Pakistan Cricket Board (PCB) Patron's Cup and the PCB Patron's Trophy. Rana made his 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 two 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 six 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 the 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 (BCB); 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 10 overs in an ODI in Kingstown, Saint Vincent. In the match, Rana opened the batting and ran out the West Indian wicket-keeper Ridley Jacobs as Bangladesh lost 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, taking no