The Mashrafe Mortaza-led side, which is now placed at sixth spot with five points, has batted pretty well so far in the tournament.
He followed it up with 5 wickets with the ball.
Shakib is only the second player in World Cup history to take five wickets and hit a 50 in the same match after India's Yuvraj Singh against Ireland in 2011.
But, his own team have seen an uplift in performances over the last two games.
Amid US tensions, Iran executes 'defence ministry contractor' over spying for CIA
Deputy Majlis Speaker Masoud Pezeshkian says the downing of a highly advanced USA drone was a punch in the mouth of the "criminal America".
Osaka KO'd in 2nd round at Birmingham
Barty will finish the week ranked world No 1 if she wins the title after Osaka suffered a disappointing loss to Yulia Putintseva . Only the rain threatened to slow Barty as it delayed the start of the match and then briefly interrupted the second set.
Kabir Singh Box Office Day 3 Collection: Shahid Kapoor On Cloud Nine
According to trade analysts the film is eyeing a Rs 70 crore first weekend and that in itself is very big . The remake of Arjun Reddy is creating similar sensations like the original at Bollywood box office.
Shakib Al Hasan who has been a force to be reckoned with for Bangladesh with 425 runs from 5 matches and he played a major role in keeping the semi-final dreams alive for his side. Bangladesh are next in action against India on Tuesday, July 2, before a final game against Pakistan three days later.
Afghanistan made a fine start to the chase, with openers Gulbadin Naib and Rahmat Shah batting sensibly to take them to 48-0 after the first 10 overs.
He went on to play a knock of 51 runs to take his tally up to 476 runs.
Afghanistan were nowhere near as impressive as in their heartbreaking 11-run loss to India at the weekend, but captain Gulbadin Naib (47) and Samiullah Shinwari (49no) put up a fight - Mujeeb Ur Rahman (3-39) earlier impressed with the ball too - before they ultimately succumbed some way short, bowled out for 200 in 47 overs.
Liton Das was promoted ahead of Soumya Sarkar to open along with Tamim Iqbal for Bangladesh, with the pair managing a brisk 23 from the first four overs. The 32-year-old has been in exceptional form in the World Cup so far and he has proven to be a vital cog in the team's batting lineup.
Not long after that milestone, Shakib brought up his half-century in 66 balls - his fifth score of 50 or more in this tournament - to huge cheers from the Bangladesh fans who made up the majority of the crowd. Shakib, who has already scored two centuries in the tournament, also became the 19th player overall to achieve this brilliant feat.