Third Test, Mumbai, day four (close):
Sri Lanka 393 and 274-6 v India 726-9 declared
Sangakkara has made hundreds against all the Test playing nations
Sri Lanka captain Kumar Sangakkara made an unbeaten 133 but his team closed day four in the final Test on 274-6, still needing 59 to make India bat again.
Sangakkara, who had never previously passed fifty in nine innings in India, struck 19 fours and a six.
It inspired a Sri Lankan revival, after they began the day at 11-0 in Mumbai.
They lost four wickets for 25 runs in barely 15 overs after lunch, but Sangakkara's 21st Test century delayed India's quest for a 2-0 series victory.
Having won the second Test in Kanpur by an innings and 144 runs, India will move to the top of the top of the rankings should they complete a win on the final day.
Sri Lanka's first innings centurion Tillakaratne Dilshan offered no stroke to spinner Harbhajan Singh in the sixth over and was given lbw for 16 by umpire Daryl Harper, although television replays indicated the ball was missing leg stump.
Sangakkara shared a 90-run stand with opener Tharanga Paranavitana, who recorded his second half century of the match before being trapped lbw in Sreesanth's first over after lunch.
Left-armer Zaheer Khan then produced a superb five-over spell in which he collected two wickets and conceded only three runs.
Utilising the bounce in the surface, Zaheer had Mahela Jayawardene caught behind and Thilan Samaraweera taken at slip.
But Sangakkara passed 1,000 runs for the calendar year and struck five fours in 11 balls in the closing overs to retain faint hopes of averting defeat.