Having chosen to bat first, they lost their talisman Chris Gayle for three runs from 16 balls in a desperately slow start.
But Marlon Samuels led them from 32 for two at the midway point of their innings to a total of 137 for six, hitting six sixes in a sensational innings of 78 from 56 deliveries.
Despite the late recovery it looked as if the home side were in pole position to claim their first major world title since the 1996 World Cup. They lost Tillakaratne Dilshan early in their reply but reached 48 for one with captain Mahela Jayawardene and Kumar Sangakkara in partnership.
But a collapse ensued, leaving the hosts in a heap at 69 for seven.
Despite some late heroics from Nuwan Kulasekara, the damage had been done, with birthday boy Dwayne Bravo holding the winning catch as Lasith Malinga slogged Sunil Narine unsuccessfully into the deep with the score on 101.
West Indies' first World Cup trophy since winning the 50-over championship in 1979 triggered wild "Gangnam Style" dance with Gayle doing perfect imitation of the horse-riding dance made famous by South Korean singer Psy.
It was also their first major title since their 2004 Champions Trophy triumph, and consigned Sri Lanka to a fourth defeat in major finals since 2007, this time in front of an expectant home crowd at the R. Premadasa Stadium.
"In the last two years, we have shown the never-say-die attitude but we have not been getting the results in our favour," West Indies captain Darren Sammy said.
"This moment we're going to live forever. The team has been through a lot not only in the last two years but the last decade.
"The mission was to win the Twenty20 World Cup. The belief we left the Caribbean with pulled us through," he added.
Sri Lanka captain Mahela Jayawardene credited Samuels with the win.
"Marlon batted very well, it was outstanding batting in a pressure situation," said Jayawardene, who played in each of the team's two World Cup 50 overs finals losses in 2007 and 2011 and the T20 final loss to Pakistan in 2009, said.
"He played some really good shots. It was one of those days when the momentum shifted and it was pretty tough to get back in it again," he lamented.
But the home side's skipper admitted that his men panicked while trying to chase the Duckworth-Lewis score as rain began to fall during the match.
"The drops were falling, so we were not sure exactly how to go about it," Jayawardene added.
"We knew we had to play to win the game and not through Duckworth-Lewis but still we were 10-15 runs behind."
There was just one change on either side from the semi-finals, with Akila Dananjaya ousting fellow spinner Rangana Herath for a berth in the Sri Lanka team, and the West Indies, having won the toss, opted for the same plan that worked so devastatingly against Australia - bat first, and unleash Gayle on their opponents.
But Gayle, so consistent in this tournament, could not get going on the biggest stage, and Johnson Charles departed in the first over as well.
Samuels and Bravo had to bide their time before repairing the damage of a slow start. Angelo Mathews whistled through four overs for just 11 runs, while Ajantha Mendis, the top wicket-taker at the tournament, added another four for 12 in an exemplary spell.
The game would have been over by the change of innings had Samuels not laid siege to the Sri Lanka attack - Malinga in particular - in such style. No batsman on either side came close to getting to grips with the pitch as he did.
He holed out late on the innings, but his skipper Darren Sammy added a few lusty blows to give the West Indies a defendable target.
They needed an early breakthrough, which came with a pearler of a delivery from Ravi Rampaul to send Dilshan's off stump cartwheeling.
Jayawardene and Sangakkara rarely looked at their most fluent as Sammy shuffled his bowlers regularly, yet they kept accumulating and looked in control of the chase.
But Samuel Badree had Sangakkara caught at midwicket by Kieron Pollard, and that started a rot from which the hosts never recovered.
The drizzle in the Colombo air seemed to inspire a bit of panic with the Sri Lankans behind the Duckworth/Lewis rate, which reached tipping point when the top scorer Jayawardene reverse-swept to Sammy when on 33.
He was one of Narine's three victims, the mystery spinner conceding just nine runs in his 3.4 overs as the pressure grew.
Only Kulasekara was able to take the fight to the West Indies, hitting Rampaul for 21 in a single over to increase the decibels in the stadium a final time and raise hopes of one final twist.
But Narine accounted for him as well, and there was even a final wicket for Samuels, who added figures of 4-0-15-1 to make him a deserved man of the match in a breakthrough moment for the West Indies.
The team has been a shadow of the great Caribbean sides of years gone by for some time now, but with Samuels speaking of his commitment to Test cricket, describing it as the best format of the game in his post-match interview, they are clearly growing in confidence once more.
- Mahela Jayawardene
- Marlon Samuels
- West Indies