In April 2019, he was named as the vice-captain of Bangladesh's squad for the 2019 Cricket World Cup. In the first innings of Bangladesh's opening match in the World Cup, against South Africa, he and Mushfiqur Rahim scored 142 runs for the third wicket, the highest partnership for any wicket for Bangladesh in a World Cup match. Bangladesh went on to score their then highest total in an ODI match at that time, finishing on 330/6 from their 50 overs. In the second innings, he took the wicket of Aiden Markram as his 250th wicket in ODIs, to become the fastest cricketer to take 250 wickets and score 5,000 runs in ODIs, in terms of a number of matches (199). Bangladesh went on to win the match by 21 runs with Shakib named as player of the match. In that match he also became the first cricketer to score a fifty in the first match of Bangladesh in each World Cup since 2007.