Ben Stokes top-scored with 89 as the hosts made a competitive total of 311 for eight after being sent into bat.
Jofra Archer took two early wickets and South Africa never looked likely to reach their target, bowled out in the 40th over for 207 to give World Cup favourites England the perfect start.
“I’m sure there was a few nerves kicking around. I’ve not felt like that in a long time when we arrived at the ground. To come away with a win is a fantastic start,” Stokes said.
“To perform as we did, I think that’s the best we’ve fielded in about two or three years. The amount of runs we saved was absolutely brilliant.”
England lost Jonny Bairstow to the second ball of the match, caught by wicket-keeper Quinton de Kock off spinner Imran Tahir, but Jason Roy and Joe Root shared a 106-run partnership to steady the hosts.
Roy never threatened to dismantle the bowling as he has done regularly in recent matches, accumulating 54 runs before he skied Andile Phehlukwayo to Faf du Plessis at mid-off.
Three balls later Root departed for 51, playing a loose drive at Kagiso Rabada to give JP Duminy a simple catch at backward point and leave England on 111 for three.
South Africa continued to bowl tightly as Morgan and Stokes set about rebuilding the innings.
Morgan struck the first six in the 26th over and the captain cleared the ropes twice more in a fourth-wicket partnership of 106.
Morgan, on 57, was brilliantly caught off Tahir by Aiden Markram at long-on, the fielder diving forward to catch the ball inches from the turf, and England failed to cut free.
Jos Buttler made a scratchy 18, Moeen Ali three before he too fell to a superb catch on the boundary by Du Plessis and Chris Woakes 13 as the last 10 overs produced 76 runs to leave the match finely poised at the half-way stage.
South Africa opener Hashim Amla was forced to retire hurt after being struck on the helmet by a short delivery from Archer and England took wickets at regular intervals.
Markram was caught by Root at slip off Archer for 11 and captain Du Plessis, on five, skied the fast bowler to Moeen at fine leg.
De Kock made 68 and Rassie van der Dussen 50, the pair sharing a third-wicket partnership of 85 to keep South Africa in the match.
De Kock, however, was caught by Root at long leg off Liam Plunkett and when Archer returned to the attack to force Van der Dussen to sky a catch to Moeen, South Africa’s hopes looked forlorn.
Stokes pulled off a spectacular diving one-handed catch on the boundary to dismiss Phehlukwayo and the last three wickets fell quickly, including Amla who returned to the crease but was out for 13.
“We were outplayed in all three departments. Jofra Archer took two wickets up front and Hashim Amla (injured) as well, so it was basically three down,” Du Plessis said.
“I thought 300 was par but there were some really good batting performances from England.”