The 22-year-old seamer picked up a career-best 6-14 after a destructive opening spell by veteran Chaminda Vaas as the West Indies were skittled out for 80 in the day-night match at the Brabourne stadium.
Sri Lanka cantered home in the 14th over as the first session was extended by seven minutes to facilitate a quick finish with Sanath Jayasuriya unbeaten on 45 and captain Mahela Jayawardene on 34.
The duo flayed the West Indian attack after opener Upul Tharanga, who made centuries in the previous two games, was clean bowled off the first ball by Fidel Edwards.
The emphatic win enabled Sri Lanka to top the qualifying round and join South Africa, Pakistan and New Zealand in group B of the main tournament starting on Sunday.
The West Indies, who have also qualified at the expense of minnows Bangladesh and Zimbabwe, will face world champions Australia, England and hosts India in group A.
Two teams from each group will advance to the semi-finals.
Maharoof, bowling a tidy line on the slow wicket, not only surpassed his personal best of 4-20 against India in 2005 but also recorded the best figures ever in the five editions of the biennial Champions Trophy so far.
The young seamer's effort surpassed Pakistani Shahid Afridi's 5-11 against England at Edgbaston in the previous tournament in 2004.
West Indian captain Brian Lara's decision to bat backfired as Vaas claimed two wickets in his first two overs before Maharoof continued the sensational collapse.
Four of the top eight batsmen failed to score as the West Indians were shot out for their poorest total against Sri Lanka, well below their previous low of 145 in Sharjah in 1999.
The West Indian total was boosted by the 17 extras Sri Lanka conceded, including 10 no-balls and two wides, that turned out to be the second largest contribution after Wavell Hinds' 28.
The West Indies never recovered after losing the in-form Chris Gayle off the fourth ball of the match, caught behind by a diving wicket-keeper Kumar Sangakkara off Vaas.
Gayle, who hit an unbeaten century in the previous match against Bangladesh, failed to get off the mark.
New man Ramnaresh Sarwan survived a confident leg-before appeal first ball, but fell in similar fashion in Vaas' second over without scoring.
Shivnarine Chanderpaul hit Lasith Malinga for two consecutive boundaries before the bowler took revenge by forcing an edge to Sangakkara.
Lara and Hinds took the score from 13-3 to 51 when Maharoof hit back with two wickets in the space of four deliveries.
Lara, who made 13 off 35 balls with two boundaries, failed to build on the sound start when he was trapped leg-before by Maharoof with a delivery that kept low.
Dwayne Bravo was also leg-before to Maharoof for no score to leave the West Indies tottering at 55-5.
The lights had just been switched on at the Brabourne stadium when the match ended.