Shields came off the bench in the first half as Eddie Jones' side squandered a healthy lead to go down 42-39 in the opening match of the series in Johannesburg last weekend.
Jones has made two changes to his starting line-up as England attempt to halt a four-match losing streak and keep the series alive, Shields getting the nod in the pack with former captain Robshaw axed.
The fit-again Joe Launchbury comes in for Nick Isiekwe in Bloemfontein, while Danny Cipriani is poised to make his Test comeback three years after earning his last cap against France.
"We have come here to win the series against South Africa and the squad is ready to go out and beat them this weekend," said head coach Jones.
"We have had a very good preparation this week and the intensity and executions in those sessions are going to put us in a good position for Saturday."
England squad: Elliot Daly, Jonny May, Henry Slade, Owen Farrell, Mike Brown, George Ford, Ben Youngs; Mako Vunipola, Jamie George, Kyle Sinckler, Joe Launchbury, Maro Itoje, Brad Shields, Tom Curry, Billy Vunipola.
Replacements: Luke Cowan-Dickie, Joe Marler, Harry Williams, Mark Wilson, Nathan Hughes, Ben Spencer, Danny Cipriani, Denny Solomona.