South Africa, the top-ranked Test team and a formidable opponent in world cricket, have struggled to get past the semi-final stage in major one-day tournaments since winning the inaugural version of the Champions Trophy in Bangladesh in 1998.
England lost openers Cook and Ian Bell cheaply to become 41-2, but South Africa-born Trott and Root flayed the attack on a good batting wicket to steer the hosts towards victory. (Read: As it happened)
Root was bowled by JP Duminy for 48 when 30 more were needed in 18 overs, leaving Trott to bring up the emphatic win by driving Robin Peterson to the cover fence.
Miller hit an unbeaten 56 and Kleinveldt chipped in with a career-best 43 in South Africa's best one-day partnership for the ninth wicket, surpassing the 65 by Wayne Parnell and Dale Steyn against India in Jaipur in 2010.
Miller, who rose to fame with a 38-ball century in the Indian Premier League Twenyt20 tournament this year, smashed five boundaries and two sixes. (See England's win in Pics)
Kleinveldt, replacing the unfit Steyn, hit a six and four fours against an impressive England team for whom wicket-keeper Jos Buttler picked up six catches.
Off spinner James Tredwell, who was named man of the match, and seamer Stuart Broad claimed three wickets each, but it was pace spearhead James Anderson who did the early damage with two quick wickets. (We didn't play good enough: AB de Villiers)
South Africa lost both openers, Colin Ingram and Hasim Amla, off the first 10 deliveries of the match to make it 4-2.
Star batsman Amla, who hit a Test triple-century at the same venue last year, was caught behind off Steven Finn for one. Ingram was leg-before to Anderson.
Pinch-hitter Peterson smashed 30 in a third-wicket stand of 41 with Faf du Plessis before becoming Anderson's second leg-before victim in the 11th over.
Two overs later, the Proteas suffered a major blow when skipper AB de Villiers gifted his wicket with a wild drive off Broad that was edged to the wicket-keeper.
Tredwell made up for the absence of the injured Graeme Swann as he had Duminy leg-before in his second over and got du Plessis caught behind in his third.
South Africa slumped to 70-6 in the 19th over and it soon became 76-7 when Ryan McLaren was run out by an alert Trott in the slips as the batsman stepped out to drive Tredwell.