England handed Toby Roland-Jones an ODI debut as they rang in several changes bringing in Bairstow, Finn and David Willey as well.
AB de Villiers won his eighth consecutive toss and put England in in his 100th match as South Africa captain.
After Rabada dismissed Roy in the first over, Wayne Parnell trapped Root in front to leave England at 7 for 2 in the second over.
Eoin Morgan tried taking the aggressive route but was dismissed for 8 as England slipped to 15 for 3.
From there on it was Rabada show as the pacer dismissed Hales, Buttler and Rashid. England lost four wickets in space of seven deliveries and were left reeling at 20 for 6.
This was the worst start for a team at Lord's. The previous worst being England's 62 for 6 against India in 2004.
Jonny Bairstow scored a fighting half-century before he was stumped for 52. England, soon after, folded for 153.
Hashim Amla became the fastest to 7000 ODI runs, getting there in 153 innings. Quinton de Kock and Amla scored 59 for no loss before the Lunch break to give South Africa a solid start.
After a 95-run opening stand, England fought back with quick wickets to leave South Africa wobbling at 101 for 3.
AB de Villiers and JP Duminy guided South Africa to a seven-wicket win as they registered their first win at Lord's.