Spinners Harbhajan (6/102) and Kumble (3/81) helped tourists restrict the hosts to 292 in their first essay and snatch a crucial 37-run lead. And then finished the third day's play on high note posting a healthy 200/4 in the second innings, thanks largely to fine knocks from Gambhir (74) and Sehwag (50). Dravid and Tendulkar scored 44 and 31 respectively.
Ganguly and Laxman, both yet to open their accounts, were at the crease when bad light forced early end to day's play.
Sehwag, who scored an unbeaten 201 in the first innings, and Gambhir got India off to a fine start in the second innings with a 90-run stand for the opening wicket. The pair had put on 167 in the first innings.
Gambhir, who made 56 in the first innings, reached his second successive half-century when he stepped out to drive off-spinner Murali past mid-on for his sixth four.
The Lankan captain pressed his spinners into the attack early in the innings, but neither Muralitharan nor Ajantha Mendis could trouble the Indian openers.
Sehwag yet again dominated the Lankan attack as he reached his half-century off just 49 balls with a six off Mendis and six fours.
He fell two balls later playing an uppish drive off left-arm seamer Chaminda Vaas, with Tillakaratne Dilshan timing his jump to perfection to take a superb catch in the covers.
Gambhir was at ease with Mendis and Murali cutting and driving the spin duo on either side of the wicket and looked set for a big one before being undone by a wrong un from Carrom bowler. Gambhir's 149-ball knock was inclusive of 10 boundary hits.
Veterans Dravid and Tendulkar, both surprisingly quiet with their bat so far, got the starts but yet again failed to convert it into big ones. Dravid played his usual self nudging and grafting while Sachin looked in a attacking mood. The seasoned duo shared 56-run stand before conceding their wickets in six balls span and at the same score.
The Indian spinners earlier dashed Lankan hopes of gaining the lead by sharing five wickets, with Kumble taking three and Harbhajan two. The hosts could add only 77 to their overnight total of 215-5.
Jayawardene provided the lone resistance as the middle-order and tail failed miserably against the wiles and giles of Bhajji and Kumble. He looked set to complete his 24th Test hundred before being caught behind off Kumble.
Lanka lead 1-0 in the three-match series following their win by an innings and 239 runs in the opening Test in Colombo.