Rain and bad light brought an early close to Day 3 of the 1st Test, with Bangladesh on 283-7 and a lead of 81 runs against South Africa.
Bangladesh finished day two with 101-3 and a deficit of 101.
The Proteas needed to strike early on Day 3, and Kagiso Rabada delivered. He removed both batters who started the morning session.
Mahmudul Hasan Joy (40) edged to first slip and Mushfiqur Rahim (33) clean bowled crashing into middle stump.
The pair only managed to add 7 runs.
Maharaj managed to strike next, Liton Das finding a slight nick to the keeper. After a review, Bangladesh were reduced to 112-6 at this point.
Mehidy Hasan Miraz and Jaker Ali leveled things out by lunch, Bangladesh trailing by 1 run.
The pair scored 89 to take their side to 201-6, Miraz reaching his half-century.
The dangerous 138-run partnership was finally broken when Jaker (58) was dismissed lbw by Maharaj. Bangladesh lost their 7th after bringing up 250 and taking a lead of 48.
The rain came in the 80th over, with Bangladesh on 267-7 with a lead of 53.
The teams returned briefly and 16 runs was added to take Bangladesh to 283-7 and a lead of 81 runs.