All-rounder Andile Phehlukwayo made a key breakthrough to stop Bangladesh's most threatening challenge on their tour of South Africa in the first Twenty20 international at Mangaung Oval.
South Africa won by 20 runs after scoring 195 for four but opening batsman Soumya Sarkar went on a ferocious assault at the start of the Bangladesh innings before falling to Phehlukwayo for 47.
Bangladesh lost momentum and finished with 175 for nine. "We knew they would come out with guns blazing," said stand-in South African captain JP Duminy yesterday. "But the guys stayed calm and backed their skills and their variations."
Sarkar and Imrul Kayes put on 43 off 25 balls for the first wicket and although the tourists lost two wickets they were still in with a chance with the total 92 for two when Phelukwayo struck with the first ball of the tenth over.
Phehlukwayo successfully sought a review after Sarkar was initially given not out after being struck on the pads after a 31-ball innings during which he hit five fours and two sixes. Phehlukwayo also claimed the wicket of Mahmudullah in a four-over stint in which he conceded only 25 runs.
South Africa had two key partnerships. Quinton de Kock (59) and man of the match AB de Villiers, who made 49 off 27 balls, put on 79 off 51 balls for the second wicket before Farhaan Behardien (36 not out) and David Miller (25 not out) thrashed an unbeaten 62 off the last five overs.
Bangladesh fought back in the middle overs. Rubel Hossain bowled an outstanding 15th over in which he conceded only three runs and took the wicket of De Kock.
Off-spinner Mehedi Hasan took the first two wickets and conceded a respectable 31 runs in his four overs.
"We pulled it back in the middle overs but the last five overs cost us the game," said Bangladesh captain Shakib Al Hasan. "Then we made a great start but didn't capitalise. For the first ten overs we were right in there."
The sides meet in the second and final Twenty20 international in Potchefstroom on Sunday with Bangladesh hoping to end a streak in which they lost two Tests and three one-day internationals before Thursday's match.