Non Stanford beat Jodie Stimpson in a British one-two finish in the World Triathlon Series event in Cape Town.
Stanford, 27, the 2013 world champion, won in 59 minutes 49 seconds, seven seconds in front of Stimpson with Bermuda's Flora Duffy coming third.
Jonathan Brownlee, who needed medical help after coming third in the previous event in Australia earlier this month, came second in the men's race.
Spain's Fernando Alarza won in 54:12, five seconds ahead of Briton Brownlee.
Both events consisted of a 750m swim, 20km cycle and 5km run, with Britain's Vicky Holland finishing sixth in the women's competition.
Duffy is now the overall points leader with Stimpson second. Helen Jenkins, who did not race in Cape Town, was third and Stanford eighth.
Olympic champion Alistair Brownlee was absent because of illness and his brother Jonathan revealed he had contemplated withdrawing from the race as well.
He missed the medal ceremony after stage two on Australia's Gold Coast because he was receiving medical treatment for heat stroke, but was able to compete again in South Africa.
"For the last two weeks I've felt terrible," Jonathan Brownlee told BBC Sport. "Since the Gold Coast I was not sure I would start.
"It's not a victory but from where I was two weeks ago it's a big improvement. I knew I wouldn't be able to run a fast 5km."
Brownlee's silver medal takes him up to third in the rankings, behind Spanish duo Mario Mola and Alarza, who is now second overall. Fellow Briton Adam Bowden finished 16th.
This was the third of nine World Series events and the next one will be held in Yokohama, Japan on 14 and 15 May.