Ali's 53-ball ton saw his second fifty come off just 12 deliveries, a world record dash by an ODI batsman from 50-100, and was the cornerstone of England's 369 for nine.
"I enjoyed myself," Ali told Sky Sports. "I just tried to slog it as much as I could."
West Indies were in with a chance so long as the big-hitting Chris Gayle was making 94.
But when the veteran opener, who missed the rainswept no-result in the second ODI at Trent Bridge on Thursday with a hamstring injury suffered warming up on his 38th birthday, was run out the tourists' hopes of winning disappeared with him.
West Indies were eventually dismissed for 245, with fast bowler Liam Plunkett taking five for 52 -- his maiden ODI five-wicket haul -- as England won with 65 balls to spare.
Earlier, all-rounder Ali scored nearly half his via eight sixes, before he fell for 102.
England's total was their largest in a one-day international against West Indies, surpassing their 328 for seven at Edgbaston in 2009, and their fifth-largest in this format overall.
Ali's hundred was also the second quickest by an England batsman at this level after Jos Buttler's 46-ball ODI century against Pakistan in Dubai in 2015.
England lost three wickets for 11 runs to be 217 for six in the 35th over.
But a partnership of 117 in 76 balls between Ali, a left-handed batsman, and Chris Woakes (34) turned the tide in a match that featured 28 sixes in total.
Joe Root (84) and Ben Stokes (73) had laid the platform for a large total with a fourth-wicket stand of 132 in 20 overs.
With Ali leading the charge, England scored 123 runs in their last 10 overs after being sent into bat.
Ali's six-hitting assault really got going as England scored a remarkable 50 runs in two overs -- the 45 and 46th of their innings.
He should have been out for 87 when he smashed a Jerome Taylor full toss to point only for Gayle to drop the catch at point.
Ali went to his century with two sixes in three balls off Miguel Cummins -- a pull over deep square leg followed by a soaring drive over long-on.
He eventually holed out off spinner Ashley Nurse and received a standing ovation from a near-capacity crowd.
England captain Eoin Morgan, whose poor run of form with the bat continued with a golden duck, hailed Ali's man-of-the-match effort.
"Moeen Ali’s innings was the difference between the sides, certainly with the batting anyway," he said.
Meanwhile West Indies captain Jason Holder was left to lament his side's inability to build on a promising start, their cause not aided by some sloppy fielding as they suffered a 14th defeat in 15 completed ODIs against England.
"We leaked runs at the death and we paid for it," Holder said.
"We need to be better in the field. The players need to take the ownership on themselves."
West Indies opener Evin Lewis hit two sixes in David Willey's first over before the left-arm quick had him caught at mid-on by Ali.
Plunkett then had both Shai Hope (20) and Marlon Samuels (11) caught behind, the latter on a tight review.
Gayle, who wrote the book on one-day power hitting, struck off-spinner Ali for three straight sixes in as many balls while the floodlights pierced the increasing gloom.
But the wicket England wanted came when Gayle just failed to beat Adil Rashid's direct hit from midwicket and was run out, having faced 78 balls including nine fours and six sixes.
That left West Indies 176 for four in the 27th over and there was no way back for them from there.
England's star men combined to end the match when Holder (34) holed out off Plunkett to Ali at long-off.
The series continues at The Oval on Wednesday.