Mtawarira, who has 98 caps, has not shaken off a groin strain suffered in the 35-6 win over Italy and Steven Kitshoff takes his place. Malcolm Marx returns at hooker after recovering from a shoulder injury.
Du Preez and Gelant are two of five changes to the starting team as the South Africans conclude their month-long tour of Europe, on which they lost heavily to Ireland and beat France and Italy.
Du Preez replaced Duane Vermeulen, who has returned to his French club Toulon.
Flanker Siya Kolisi is back in the side after missing the Italy game because he went back to Cape Town for the birth of his child and he comes in for Francois Louw.
Louw is unavailable because Saturday’s test falls outside the window for international call-ups and he has returned to play at Bath.
Uncapped centre Lukhanyo Am and scrumhalf Louis Schreuder are on the bench.
“We expect another gruelling contest against a strong Welsh team," South Africa coach Allister Coetzee said on Thursday.
"It will be a different challenge altogether this week – Wales are renowned for their passing game and their width on attack.”
Team: 15-Andries Coetzee, 14-Dillyn Leyds, 13-Jesse Kriel, 12-Francois Venter, 11-Warrick Gelant, 10-Handre Pollard, 9-Ross Cronje, 8-Dan du Preez, 7-Pieter-Steph du Toit, 6-Siya Kolisi, 5-Lood de Jager, 4-Eben Etzebeth (captain), 3-Wilco Louw, 2-Malcom Marx, 1-Steven Kitshoff.
Replacements: 16-Bongani Mbonambi, 17-Trevor Nyakane, 18-Ruan Dreyer, 19-Oupa Mohoje, 20-Uzair Cassiem, 21-Louis Schreuder, 22-Elton Jantjies, 23-Lukhanyo Am.
(Reporting by Mark Gleeson,; Editing by Ed Osmond)