RELATED : Watch more : Zahara celebrated by family and friend in johannesburg
Williams kept out spot-kicks from Bebe, Willy Semedo, Laros Duarte and Patrick Andrade as South Africa prevailed 2-1 against Cape Verde in the quarter-finals following a 0-0 draw in 120 minutes. South Africa will now face Nigeria in the semi-finals on Wednesday. The other semi-final will see Ivory Coast take on DR Congo.
Tournament hosts Ivory Coast beat Mali 2-1 in extra time on Saturday thanks to a 122nd-minute winning goal from Oumar Diakite. Reims striker Diakite was then sent off after picking up a second yellow card for removing his shirt while celebrating.