The opening day of the series may have high in tedium and low in excitement, but on day two Sri Lanka raised the tempo, cashing in on a Zimbabwean bowling attack lacking control, variation and penetration, as they piled up a mammoth first innings score at the Sinhalese Sports Club.

Sri Lanka eventually declared on 586 for six having scored 375 in the day after centuries from Kumar Sangakkara (128) and Thilan Samaraweera (123 not out), plus fifties from Hashan Tillakaratne (96) and Chaminda Vaas (74 not out).

Zimbabwe then faced a tricky 35-minute session before bad light stopped play. They were soon in trouble as left-arm pace bowler Nuwan Zoysa produced a throat-threatening bouncer that ballooned off 18-year-old opener Hamilton Masakadza's gloves to be caught by Tillakaratne at second slip.

Trevor Gripper and Stuart Carlisle survived till the close, not without the odd alarm and one very good shout for lbw. The tourists now face a grueling three-day fight for survival on a wearing dry wicket well suited to the wiles of Muttiah Muralitharan.

Needless to say, the odds are heavily stacked in favour of Sri Lanka going one-up in the series. However, tour captain Brian Murphy, who stepped down for the game because of poor form, believes his side can still save the game.

"The guys are pretty tired, but looking forward to the challenge ahead," he said. "We have some strong-willed cricketers in this squad and we can save this game. Andy (Flower) may hold the key but the other batsmen can also score hundreds."

Sri Lanka, 211 for three overnight, came out in the morning in a more aggressive frame of mind. Sangakkara singled his positive intentions by clattering 12 runs in the opening over and Russel Arnold welcomed Gary Brent with an audacious sweep to leg.

Zimbabwe couldn't match the self-discipline they had shown on the previous day, erring in both their line and length, with only Heath Streak (3-113) providing a consistent threat. Travis Friend and Henry Olonga conceded four runs an over, whilst Trevor Gripper was blasted for 30 runs in a three over spell.

Sangakkara, who had played a supporting role on Thursday, reeled off a series of stylish swivel-pulls and square cuts, as he scored at a run a ball and raced to his third Test century.

Arnold, still struggling to safeguard his place in the Test side, disappointed again. He contributed 13 runs to a 79 partnership before he became the first casualty of the day, as Streak caught him on the hop with a curving inswinger (249 for four).

But there was no respite for Zimbabwe as Hashan Tillakaratne carried on where he had left off against West Indies earlier in the month when he had scored 205 not out at the same venue.

Sangakkara added 71 with his 34-year-old club captain before he was controversially adjudged to have been caught at first slip.

The left-hander had flayed at a short ball from Brent and the ball flew quickly to the left of Craig Wishart, who parried the ball before a last-second grab on the ground. Umpire Riazruddin deferred the decision to television umpire Tyronne Wijewardene. Replays appeared inconclusive, as to whether the ball had bounced off the turf or his forearms, but Wijewardene pressed the red light (320 for five).

Thilan Samaraweera, a crucial part of Sri Lanka's recent success, continued his remarkable run with the bat since scoring a hundred on debut against India, adding 130 for the sixth wicket with Tillakaratne - their fourth century stand in six Test matches.

Unlike their previous partnerships against India and West Indies, which had been dour and remorseless batting displays, both players played freely, frequently exercising the branded ball boys patrolling the boundary ropes.

It didn't all go to plan, however, as Tillakaratne just missed out on a tenth Test century, and his fourth in eight Tests since making his comeback in August, when he was caught behind for 96 whilst trying to late cut a wide ball from Streak.

But Samaraweera carried on and on, displaying unflappable concentration and strong self-discipline during a chanceless unbeaten 123 - which leaves his Test average at a staggering 140.7. He scored eight fours in his first fifty, before playing more sedately as he moved towards his second Test ton, which he celebrated reaching with a lofted extra cover drive for six and a cheeky sweep off Brent.

Chaminda Vaas gave him solid support, ending a poor recent run with the bat with a career best unbeaten 74 before Sanath Jayasuriya eventually called it a day on 586, which was an all-time record score between the two sides, surpassing the 469 for nine scored by Sri Lanka in Kandy in 1997/8.