England trailed 22-3 early in the contest as the Springboks scored three tries in the opening quarter.
But they fought back to get within four points of their hosts thanks to 17 points for Flood, including a try, and two scores for his Leicester Tigers team-mate Ben Youngs.
However, South Africa withstood the fightback to secure a second Test victory and with it the series ahead of Saturday’s third and final Test in Port Elizabeth.
“Our error count was too high,” said Flood. “Everytime we kicked off we were back into our 22 and defending for long periods and that kelled us in the first 40 minutes. We defended for long periods and that saps your energy.
“There are certainly positives to take from what we did but at the same time we had to chase the game from 19 points down. We shouldn’t have let them get that far away.”
England’s tour to South Africa continues on Tuesday with a fixture against the South Africa Northern Barbarians in Potchesfroom.
The team is due to be announced at 3.30pm on Monday.