(CNN) -- Tillakaratne Dilshan scored his sixth Test century of a remarkable year to give Sri Lanka a fine start to the third match of their series against India in Mumbai on Wednesday.
Dilshan made 109 as Sri Lanka, seeking a win to level the series at 1-1, closed on 366 for eight wickets on the opening day.
All-rounder Angelo Mathews was closing on his first Test century with an unbeaten 86 on a wicket offering turn and bounce, but was rapidly running out of partners to the second new ball.
India, who won the second Test in Kanpur last week by a crushing innings and 144 runs, will take over from South Africa as the top-ranked Test team in the world if they can win the series 2-0.
Off-spinner Harbhajan Singh claimed four victims and slow left-armer Pragyan Ojha two but Dilshan proved a formidable opponent.
He continued his superb 2009 with 10 boundaries and two sixes to reach three figures for the 11th time in Tests.
He made 112 in the high-scoring draw in the first Test in Ahmedabad.
Dilshan put on 93 in 20 overs for the first wicket with Tharanga Paranavitana, who made 53.before becoming Harbhajan's first victim just before lunch.
India claimed three wickets in the afternoon as Sri Lankan captain Kumar Sangakkara went cheaply with Mahela Jayawardene adding 59 for the third wicket before falling victim to paceman Shanthakumaran Sreesanth.
Harbhajan had Thilan Samaraweera caught in the leg-trap for one just before the tea interval.
Mathews and Dilshan put Sri Lanka back on top again in the final session with a 74 stand which was ended when the opener was given out caught at short-leg off Harbhajan, with TV replays indicating he was unlucky.
Prasanna Jayawardene made 43 in a sixth-wicket stand of 67 with Mathews, but he Nuwan Kulasekara and Rangana Herath fell in quick succession as India hit back again.