Hooker Bongi Mbonambi captains the team, which has an entirely new forward pack, including Jean Kleyn and Marvin Orie in the second row and Marco van Staden and Kwagga Smith as flankers.
Williams at wing is the most intriguing selection from coach Jacques Nienaber, although Williams’ speed is well known in South Africa. He has slotted in as a wing off the bench before.
Cobus Reinach starts at No 9 and Jaden Hendrikse is the halfback on the bench. Nienaber also selected another regular halfback, Faf de Klerk, as first five cover on the bench with Manie Libbok, the only specialist 10 in the squad, rested.
“We have been rotating and testing players in different positions since last season to put us in the fortunate position to have a group of 33 players in France that are closely matched in terms of their quality of play and skills,” Nienaber said.
Andre Esterhuizen and Canan Moodie were recalled in the centres, the same combination the Springboks fielded in the 35-7 demolition of New Zealand ahead of the Rugby World Cup. Makazole Mapimpi is on the left wing.
Deon Fourie is on the bench as hooker cover despite him playing more recently as a flanker. Fourie, 36, was the oldest Springboks debutant when he played his first test last year.
Romania lost 82-8 to Ireland in their opening game.
South Africa: Willie le Roux, Grant Williams, Canan Moodie, Andre Esterhuizen, Makazole Mapimpi, Damian Willemse, Cobus Reinach; Duane Vermeulen, Kwagga Smith, Marco van Staden, Marvin Orie, Jean Kleyn, Vincent Koch, Bongi Mbonambi (captain), Ox Nche. Reserves: Deon Fourie, Steven Kitshoff, Trevor Nyakane, RG Snyman, Jasper Wiese, Jaden Hendrikse, Faf de Klerk, Jesse Kriel.
Get full coverage of the Rugby World Cup.