However shortly after lunch the three top order batsman were dismissed with Upul Tharanga managing a well-played 71 in the end.
Nevertheless, captain Dinesh chandimal and former captain Angelo Matthews steadied the innings once again and put on a partnership of 96 runs till Chandimal was dismissed for 55 and shortly after Matthews for 41.
Dilruwan Perera was run out for 33 which left Sri Lanka on 274/7.
At the end of day two, Sri Lanka were 293/7 trailing by 63 runs.
The pick of the bowlers for Zimbabwe was the captain Graeme Cremer with 3/100 in 30overs.