A century from Hamilton Masakadza saw Zimbabwe stun Sri Lanka in their World Cup warm-up game at the Bert Sutcliffe Oval in Lincoln.
Half-centuries from Dimuth Karunaratne and Jeevan Mendis saw Sri Lanka pose 279 for eight from their 50 overs.
But Masakadza, who made 117 from 119 balls, was ably supported by Brendan Taylor and Sean Williams as Zimbabwe won by seven wickets with almost five overs to spare.
Williams’ 46-ball fifty completed an outstanding individual effort after he took 3-35 with the ball earlier in the day.
New Zealand also have cause for optimism going into the showpiece event after thrashing South Africa by 134 runs at the Hagley Oval in Christchurch.
Brendon McCullum and Kane Williamson hit half-centuries in an outstanding team effort from the Black Caps, who had a lowest score of 19 from their top nine batsmen as they reached 331 for eight.
JP Duminy struck 80 in reply and Vernon Philander added 57, but 5-51 from Trent Boult saw the Proteas bundled out for 197.
There were no surprises in the day’s third warm-up game, with tournament hosts and favourites Australia beating United Arab Emirates by 188 runs at the Melbourne Cricket Ground.
Michael Clarke, continuing his return from injury, and Aaron Finch put on 123 for the first wicket as Australia set a target of 304 for eight.
Seven different bowlers then took wickets as UAE were skittled for 116 in 30.1 overs.