A maiden century from Sunil Ambris helped West Indies to their highest successful ODI run chase as they made 331-5 to beat Ireland by five wickets.
The opener hit a brilliant 148 at Malahide as the tourists surpassed Ireland's 327-5 with 13 balls to spare.A classy 135 from Andy Balbirnie gave Ireland hope of a first win in the Tri-Nations series but they slumped to a second loss to the Windies in a week.
The victory secures a place in next Friday's final for the West Indies.
They are back in action on Monday against second-placed Bangladesh, who will face the Irish two days later.
Ireland won the toss and the decision to bat first looked to have paid off as they set a formidable target and just four runs short of their record ODI total.
The in-form Balbirnie put on a 146-run partnership for the second wicket with opener Paul Stirling (77).
The batting woes of William Porterfield, who moved from opener to number four, continued with the Irish captain dismissed for three.Kevin O'Brien's 63 from 40 balls and a brisk unbeaten 25 from Mark Adair helped the hosts to one their best ODI innings.
Shannon Gabriel took 2-62 but it was tough going for the Windies attack at the sun-kissed ground north of Dublin.
However, it proved mighty difficult for the Irish bowlers as they were once again put to the sword by the tourists.
Ambris put on a first-wicket stand of 84 with Sahi Hope (30), who along with John Campbell made a record opening ODI partnership against Ireland last Sunday.
Royston Chase added 46 and Jonathan Carter's unbeaten 43 came off just 27 balls, while Ambris finally departed after hitting a six and 19 fours.
Irish paceman Boyd Rankin (3-65) was the best of Irish attack which failed to contain the Windies on a batsman-friendly pitch.