Shakib was included in Bangladesh’s senior squad to tour Zimbabwe in 2006. Along with Farhad Reza and Mushfiqur Rahim, Shakib was one of three uncapped players to be included in the squad. Shakib and Reza were described as “very good cricketers in all departments of the game”, and Faruq Ahmed – the chief selector – said that Bangladesh had “high hopes from them and it’s time for them to perform at the international level” Shakib made his ODI debut on the tour on 6 August; his maiden wicket was that of all-rounder Elton Chigumbura, and he finished with bowling figures of 1/39. He also scored 30 not out while Shahriar Nafees scored his maiden ODI century to help Bangladesh win by eight wickets. It was the final match in the series which Zimbabwe won 3–2. In September 2006, Shakib was one of three players to be granted a rookie contract with the Bangladesh Cricket Board (BCB), along with Farhad Reza and Mehrab Hossain Jr. This increased the number of players with central contracts and under the control of the BCB from 20 to 23.
The West Indies hosted the 2007 Cricket World Cup in March and April; Shakib 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 beating India to help knock them out of the tournament. With Tamim Iqbal in just his fifth ODI and Mushfiqur Rahim, Shakib was one of three Bangladesh batsmen in the match to score a half century to help the team reach its target of 192 to win. Later in the tournament, Shakib scored another half-century, although on this occasion it was in a losing cause as Bangladesh were beaten by England. With 202 runs from 9 matches at an average of 28.85, Shakib was Bangladesh’s second-highest run-scorer in the tournament behind Mohammad Ashraful he also took 7 wickets at an average of 43.14.
Later that year, in May, India toured Bangladesh for two Tests and three ODIs. On 18 May, Shakib made his Test debut against India. He batted once, scoring 27 runs, and bowled 13 overs without taking a wicket as the match ended in a draw. India won the Test series 1–0 and the ODI series 3–0. After the tour, Dav Whatmore resigned from his position as Bangladesh coach, and batsman Mohammad Ashraful replaced Habibul Bashar as captain.In September 2007 South Africa hosted the ICC World Twenty20. Victory against West Indies in the first round was enough to ensure Bangladesh’s progression to the second round, although it was the only one of their five matches they won. In the match against West Indies, Shakib took 4/34; it was the first time a Bangladesh player had taken more than three wickets in an International Twenty20 match (T20I) Shakib was part of another piece of T20I history when in a match against Australia in the tournament he became one of three victims of the first T20I hat-trick. Brett Lee took Shakib’s wicket, followed by those of Mortaza’s and Alok Kapali to help Australia to a 9-wicket win. In October that year, it was announced that Jamie Siddons – Australia’s assistant coach – would take over the role of Bangladesh coach; Siddons asserted that the previous set-up had focused on short term goals while he was planning to improve Bangladesh over the long term and keep together a core squad of talented players to gain experience at the international level.
In December 2007 and January 2008, Bangladesh toured New Zealand for two Tests and three ODIs. Although he didn’t play the first Test, he was selected over Enamul Haque Jr for the second due to his better batting ability. It was Shakib’s fourth Test, and until that point he had gone wicketless. His first wicket was that of New Zealand’s Craig Cumming. New Zealand won by an innings and 137 runs and took the series 2–0. New Zealand also completed a clean sweep in the ODIs which preceded the Tests, winning 3–0. Shakib played in all three ODIs scoring 31 runs at 10.33, and taking 3 wickets at an average of 42.33 Over February and March 2008 South Africa toured Bangladesh, playing two Tests and three ODIs. South Africa won both Tests. Shakib played in both Bangladesh’s defeats, taking just one wicket while conceding 122 runs, and scoring 75 runs. South Africa won the subsequent ODI series 3–0. Shakib passed 1,000 ODI runs in the series; he passed the landmark in his 39th ODI and his batting average at the time was