Kumar Sangakkara struck his 11th one-day international century and Muttiah Muralitharan bagged four wickets as Sri Lanka eased to a 112-run victory over New Zealand in their final Group A fixture.
Skipper Sangakkara led from the front by posting 111 in his side's 265-9, a total the co-hosts defended with ease thanks to more magic from Murali.
New Zealand, who were without captain Daniel Vettori for the Mumbai clash, were dismissed for a disappointing 153 in only 35 overs, however they still progress to the quarter-final stage.
Sri Lanka leapfrogged the Black Caps, Pakistan and Australia into top spot as a result of the win, although their final position will not be confirmed until the Australians have faced Shahid Afridi's side in Colombo on Saturday.
Sangakkara was one of only three Sri Lanka batsmen to reach double figures in a bizarre innings after New Zealand's stand-in skipper Ross Taylor had lost the toss.
Sri Lanka lost both openers with just 19 on the board, but Sangakkara and Mahela Jayawardene steadied the ship by adding 50 in 83 balls.
Jayawardene got a huge reprieve on 24, when Nathan McCullum's return 'catch' off the right-hander was ruled not out by umpire Asad Rauf after consultation with his colleagues, despite replays appearing to rule in favour of the Black Caps.
Jayawardene and Sangakkara took Sri Lanka past 150 by the 35th over, but Tim Southee trapped the former lbw for 66 in the first over of the batting power play to end a 145-run stand.
Sangakkara, however, carried on and hit a couple of boundaries and a six off Southee (3-63) having already moved past 9,000 one-day runs.
The Sri Lanka captain soon brought up his ton before being cleaned up by McCullum (2-48), But his innings, which included 12 boundaries and two sixes, had put Sri Lanka in a strong position.
Thilan Samaraweera (5), Chamara Silva (3), Nuwan Kulasekara (1) and Lasith Malinga (6) lost their wickets in a quest for quick runs as Sri Lanka slipped to 239-8 in a matter of six overs.
Angelo Mathews (41 not out) held the tail up despite losing Muttiah Muralitharan in the last over, striking four useful boundaries to propel Sri Lanka past 250.
New Zealand never threatened to get close despite a promising start from aggressive opening duo Brendan McCullum (14) and Martin Guptill (13).
Both right-handers fell in the space of four runs and despite a brief rally from Jesse Ryder (19) and stand-in skipper Taylor (33), spin was soon to have a major say in the outcome of the match.
Muralitharan (4-25) ripped the heart out of the New Zealand middle-order, despite suffering from an apparent hamstring injury sustained whilst batting.
Ajantha Mendis chipped in with the wicket of Ryder and victory was a formality with the Black Caps toiling on 102-6.
Jacob Oram (20 not out) managed some lusty hitting down the order, before the defeat was sealed when Malinga (1-38) returned to send Hamish Bennett's off stump cart-wheeling backwards.