Morgan, en route his career-best knock, also hit the fourth fastest hundred in World Cup history, getting his 13th ODI hundred off only 57 balls.
Apart from 17 sixes, the left-hander also hit four boundaries. He broke the record which was jointly held by Rohit Sharma (vs Australia 2013), AB de Villiers (vs West Indies, 2015) and Chris Gayle (16 vs Zimbabwe 2015).
Opener Jonny Bairstow (90 off 99 balls) and Joe Root (88 off 82 balls) also played their part but were overshadowed by the skipper who pulverised the hapless Afghan bowling attack.
Afghanistan's T20 superstar Rashid Khan got a reality check as he also had the ignominy of being hit for a 'hundred'. His bowling figures read a pathetic 9-0-110-0 with 11 sixes being hit off his bowling. Rashid's figures are the worst by any bowler in a World Cup game, beating New Zealand's Martin Snedden's 0/105 off 12 overs (60 overs per side) against England in the 1983 World Cup.
Morgan primarily targeted the arc between long-on and long-off and repeatedly dispatched the length balls in between these areas with a few straight sixes. He was particularly severe on Rashid, who till date has never been hit for more than two sixes in his innings.
Mohammed Nabi (0/70 in 9 overs) also got a pasting and so did Gulbadin Naib as Morgan and Root added 189 runs in 16.5 overs. In all, the English batsmen hit 25 sixes.
Even Moeen Ali had a little feast scoring 31 off 15 balls with four sixes.