Group B, Bloemfontein, Sri Lanka 272-7 bt New Zealand 225 all out by 47 runs
A brilliant century from Scott Styris was all in vain for New Zealand as they slumped to a heavy loss at Goodyear Park.
It was another century far earlier in the piece, by Sanath Jayasuriya, that underpinned a sizeable score for the Sri Lankans.
And when in reply the Kiwis lost three wickets for just 15 runs inside six overs, there was only ever one side likely to win the match.
Sri Lanka relied heavily on a stand of 170 between their masterful captain Jayasuriya and the patient Hashan Tillakaratne.
Jayasuriya thrashed 120 off just 125 balls and Tillakaratne batted for all but the first five overs to end on 81 not out.
New Zealand were left to rue a decision by English umpire Neil Mallender, who gave Jayasuriya not out on just 18 when wicket-keeper Lou Vincent caught an outside edge off Daryl Tuffey.
A nagging spell of medium pace from Nathan Astle, who took three wickets including Jayasuriya's, brought New Zealand back into the contest when it seemed Sri Lanka were set for a score of around 300.
But despite Styris's immense effort of 141 off 125 balls, the rest of the batting was spineless and short of application.
The Kiwis won the toss and decided to bowl first on a fine batting track.
But Jayasuriya and Tillakaratne soon gained the initiative for the Sri Lanka in no uncertain terms.
Jayasuriya blasted boundaries to all parts. Later he hung on through a bout of cramp to post a fine century before Astle trapped him lbw.
A flurry of wickets followed, with Shane Bond and Andre Adams both finishing with two wickets, as Tillakaratne ended up on 81 not out having played a vital anchor role.
Any loss is always disappointing but the manner of this was very disappointing"
New Zealand captain
New Zealand began their run chase in diastrous fashion as Astle ran himself out in the first over.
And two further wickets followed quickly, with Pulasthi Gunaratne seeing off both Stephen Fleming and Craig McMillan.
Styris and Chris Cairns added 78 but Cairns got bogged down against Sri Lanka's four spinners before he was tamely caught and bowled by Aravinda de Silva.
From that moment on, Styris continued to blaze away but nobody was able to lend any support.
The Australian-born all-rounder collected his first international century and hit a record score at Bloemfontein before he was finally last man out attempting to hit his seventh six.
Sri Lanka (from): S Jayasuriya (captain), M Atapattu, M Jayawardene, K Sangakkara, A De Silva, R Arnold, J Mubarak, A Gunawardena, H Tillakaratne, M Muralitharan, C Vaas, D Fernando, P Gunaratne, P Nissanka, C Buddhika.
New Zealand (from): S Fleming (captain), A Adams, N Astle, S Bond, C Cairns, C Harris, C McMillan, J Oram, S Styris, D Tuffey, D Vettori, L Vincent, B McCullum.