Thilan Samaraweera hit his sixth Test hundred as Sri Lanka set West Indies a target of 253 for victory in the second and final Test at Queen's Park Oval.
Samaraweera top scored with 125 and shared a century seventh-wicket stand with Chaminda Vaas as the tourists recovered to post 268 all out in their second innings.
The Sri Lanka number five did enjoy some good fortune though as umpire Billy Bowden adjudged him not out from a Dwayne Bravo delivery that struck him plumb in front, but he made the most of his reprieve in this superb back to the wall knock.
Sri Lanka were in deep trouble on 32 for three when Samaraweera arrived at the crease and they soon crashed to 99 for six before Vaas helped rebuild the innings with a valuable 45.
West Indies captain Chris Gayle eventually accounted for the seamer and Samaraweera soon followed to a run out going for a second run when he failed to beat Marlon Samuels' throw from third man to the wicketkeeper in the closing minutes of day three.
Jerome Taylor (4-52) polished off the Sri Lanka innings when he had Muttiah Muralitharan caught at long leg for four, but it was much more than the hosts would have liked to be chasing.
West Indies had earlier been dismissed for 294 in their first innings as off-spin legend Muralitharan closed with five wickets for 79 runs from his 29.2 overs.
And Sri Lanka were in trouble as early as the second over when Malinda Warnapura was caught at third slip for a duck off Taylor and the bowler then ran out Michael Vandort for one three balls later.
Captain Mahela Jayawardene then dragged a Fidel Edwards ball on to his stumps for 12 and his deputy Kumar Sangakkara followed edging a rising Daren Powell delivery to gully for 14. Sri Lanka were 32 for four at that stage.
Tillakeratne Dilshan (25) offered some resistance before playing all around a full ball from Taylor that sent the batsman's off-stump cart-wheeling.
After lunch, Chamara Silva frustrated the Windies for 45 minutes before Taylor had him caught at gully for 13, which brought Vaas and Samaraweera together at the crease.
Samaraweera sliced Edwards to the third man boundary to bring up his ton and after adding 25 more, left things delicately poised in Trinidad.
Sri Lanka lead the series 1-0 after their opening Test victory in Guyana, but it could go either way on day four, which is live on Sky Sports Xtra from 3pm on Sunday.