A fighting unbeaten century from Craig Ervine kept Zimbabwe afloat on the first day of the one-off Test against Sri Lanka in Colombo, the visitors reaching 344/8 at stumps.
Ervine struck a majestic 151 not out, his highest Test score, to keep the hosts at bay for most of the day although Sri Lanka will be pleased with their work at the R Premadasa Stadium.
Veteran left-arm spinner Rangana Herath was the pick of the bowlers on a flat pitch as he returned figures of 4-106 from a mammoth 30 overs.
Herath started his onslaught as early as the eight over as he bowled opener Regis Chakabva (12) while the 39-year-old also accounted for Hamilton Masakadza (19) early in the morning session.
Tarisai Musakanda (6), making his Test debut, was caught behind off seamer Lahiru Kumara while Sean Williams went to off-spinner Dilruwan Perera (24) to leave the African side on 96/4 at lunch.
Ervine found a willing partner in Sikandar Raza (36) and the pair tried to rebuild the innings with an 84-run stand for the fifth wicket but the latter was trapped lbw by Herath just as he was starting to get going.
The left-handed Ervine then put on 41 with wicketkeeper PJ Moor (19) but Moor played a desperately poor shot as he skied a catch to long-on off Asela Gunaratne.
Malcolm Waller helped Ervine take Zimbabwe to the tea interval on 213/6 with a lot of work still to be done to get the big first innings total that was required.
Ervine reached his second Test ton, in his 12th match, off 146 balls after the break but also lost Waller (36) in the process as the right-hander was bowled by Herath.
Zimbabwe captain Graeme Cremer was bowled for 13 to give Gunaratne his second scalp but Donald Tiripano (24 not out) kept the untroubled Ervine company until the close the play, the duo adding an unbroken 62 for the ninth wicket.
Herath looked like he fought a lone battle for the home side but Gunaratne will be pleased to have ended the day with figures of 2-28 from seven overs.