Victory gave the Proteas an unbeatable 2-0 lead in a three-match ODI campaign, with Breetzke's 85 the cornerstone of their imposing 330-8.
England, skittled out for just 131 in Tuesday's series opener in Leeds, kept hitting all the way down the order before, needing 16 to win off the last over, they were held to a total of 325-9.
Joe Root and Jos Buttler both made 61, with rising star Jacob Bethell hitting a quickfire 58 and tailender Jofra Archer 27 not out.
But with South Africa fast bowler Nandre Burger raking 3-63, the Proteas just had enough in reserve in a match that produced a huge total of 655 runs.
This game also lasted the full 100 overs, unlike the first ODI at Headingley, which was wrapped up inside 46.
The series concludes at Southampton on Sunday.
Brief scores
South Africa 330-8, 50 overs (M Breetzke 85, T Stubbs 58; J Archer 4-62)
England 325-9, 50 overs (J Root 61, J Buttler 61, J Bethell 58; N Burger 3-63)
Result: South Africa won by five runs
Series: South Africa lead three-match series 2-0