Sri Lanka's miserable form in one-day internationals lurched to another trough as they lost their tri-series opener to Zimbabwe on Wednesday.
Hamilton Masakadza's top-order 73 paved the way for Zimbabwe in Mirpur, before Sikandar Raza's superb all-round display secured victory, subjecting Sri Lanka to a 15th defeat in 16 ODIs.
Raza top-scored with 81 and ended Kusal Perera's impressive innings at 80, while bowling 10 overs for just 54 runs.
Zimbabwe were hammered by eight wickets with 129 balls to spare by Bangladesh on Monday, but they were in inspired form here and were off to a solid start as Masakadza and Solomon Mire (34) put on 75 for the first wicket.
Former skipper Brendan Taylor added 38, but Raza's knock of 81 from 67 deliveries was crucial in taking them to 290-6.
Kusal and Angelo Mathews steadied the ship from 47-2 for Sri Lanka, but when the opener top-edged Raza to short fine leg the wheels began to loosen.
Another three wickets fell for 62 runs, piling pressure on all-rounder Thisara Perera to marshal the tail through a chase of almost 100 runs in 14 overs.
Thisara went for broke, hammering three sixes as he made 64 from 36 balls, with wickets falling around him, before he holed out to leave tailenders Dushmantha Chameera and Suranga Lakmal needing 15 runs from 20 balls - a task that was beyond them.