Mohammad Shami and Umesh Yadav bossed over a fragile South African batting line-up to put the hosts on the cusp of a 3-0 whitewash in Ranchi on Monday.