Virat Kohli's young team showed heart by bouncing back after losing the first Test.
Harish Kotian/Rediff.com assesses the Indian side after the 2-1 series triumph.
The 2-1 margin of victory is probably not a fair indication of what transpired in the three Test series, but there can be no gainsaying that Sri Lanka was second best save a couple of sessions in the rubber.
India will rue not completing a 3-0 series whitewash. They have themselves to blame for capitulating to a shambolic 112 all out, after being set 176 for victory in the first Test in Galle.
But Virat Kohli's young team showed heart not only by bouncing back in the next Test, but going on to register their first series win in the island nation in 22 years following a crushing victory in the third Test.
Ravichandran Ashwin and Ishant Sharma were the top performers with the ball in a series where bowlers outshone batsmen as none of the teams posted a total in excess of 400.
My report card on how the Indian players fared:
Virat Kohli (8/10)
He may not have set the grounds on fire with his batting, but his captaincy was certainly a highlight of the series.
Kohli never gave up on his trademark aggression. He persisted with his five bowler theory, which ultimately proved one of the reasons for India winning the third Test in Colombo.
His faith in Stuart Binny's abilities paid off when the Karnataka all-rounder chipped in with two vital wickets in the first innings, batted well in the second and also bowled a good spell the second time around, which allowed the skipper the option of rotating his bowlers around.
India will want to see more runs from Kohli who ended the series with 233 runs, at an average of 38.
Ajinkya Rahane (7/10)
He has the ability to come up with the goods when it matters. Rahane played just one good innings in the series, but that fantastic knock of 126 was integral to India's comeback in the second Test.
Rahane achieved a new world record of eight catches in the first Test and came up with several unbelievable catches in the slips in the second Test.
He suffered twin failures in the third Test, but that was due to him being promoted to No 3, the team management preferring to protect the out-of-form Rohit Sharma, who got the opportunity to bat lower down the order.
K L Rahul (5/10)
Clearly, a series that the opener would like to forget in a hurry.
The highest opening stand in the series from both sides was 15 runs in the first Test by Sri Lanka; India's best was 14 in the same game.
Rahul was not the first choice opener at the start of the tour, but injuries to Murali Vijay before the first Test, and later to Shikhar Dhawan, meant that the Karnataka youngster featured in all three Tests.
He scored a splendid century (108) in the second Test on Day 1 when conditions were the toughest, but had nothing to show for the rest of the series.
His technique came into question in the third Test when he was dismissed in the same fashion in both innings -- offering no stroke to incoming deliveries and being bowled.
Rahul, whose close-in catching was impressive, could have it in him to be a long-term prospect.
Rohit Sharma (5/10)
Arguably, the luckiest player in Indian cricket.
Despite countless disappointments, all his captains back him and give him ample opportunities to regain form.
In this series he was preferred to Cheteshwar Pujara at No 3, but failed in both innings in the first Test.
When the team management realised his technique was not cut out for No 3, he was swiftly dropped to No 5, where batting is a lot easier against the older ball.
He played a good knock of 79 in the second Test, but his 50 in the second innings of the third Test was vital.
He finished the series with 202 runs, at an average of 33.
Cheteshwar Pujara (8/10)
One wonders why Pujara does not get the kind of support Rohit Sharma does from the team management.
The Saurashtra batsman sat out the first two Tests and only came into the playing eleven for the third as a stand-in opener after the inured Murali Vijay and Shikhar Dhawan returned home.
India crossed the 300 run mark because of his gutsy unbeaten 145.
Dping so, Pujara joined Sunil Gavaskar, Virender Sehwag and Rahul Dravid as Indian batsmen who carried their bat through in Tests.
Hopefully, he will find a slot in the playing eleven when the South Africans come visiting next month. I feel he is more suited at No 3 while Rahane can get back to No 5.
Shikhar Dhawan (8/10)
Dhawan got off to a flying start, scoring a cracking 134 before injury cut short his tour. He returned home after fracturing his right hand while fielding in the slips in the Test.
Despite his injury he courageously came out to bat in the second innings and scored 28. His dismissal saw India collapse and be bundled out for 112 and lose the Test.
Murali Vijay (8/10)
Vijay has emerged as a most consistent opener in world cricket following a good run of scores away from home.
One of India's top performers during the Australian tour, he hit an impressive 150 against Bangladesh in the one-off Test in June.
He missed the first Test in Sri Lanka because of a hamstring injury and returned to the crease for the second game.
He failed in the first innings, dismissed for a duck, but made it count in the next, stroking a fluent 82 despite being hampered by injury.
Wriddhiman Saha (7/10)
It is not easy replacing Mahendra Singh Dhoni, but Saha is carving his own niche.
Before injury nixed him for the third Test, he showed maturity scoring back-to-back fifties in the first two games.
His glove work was good too.
Naman Ojha (4/10)
Naman Ojha made an unlikely Test debut at 32.
While he was superb behind the stumps, his T20 batting temperament may be a handicap in the longer form of the game.
He scored 21 in the first innings and 35 in the second and was dismissed both times playing ugly hoicks across the line to spinners.
Stuart Binny (5/10)
Drafted into the team as an all-rounder for the second and third Tests, he fared better with the ball though his 49 in the second innings in the final Test helped India build a fighting total.
His twin strikes in the first innings of the third Test proved crucial; in the second Test he claimed his first Test wicket -- Sri Lankan Skipper Angelo Mathews who was batting well on 102. Mathews's dismissal led to a Sri Lankan collapse and they lose their last five wickets for 22 runs, giving India a crucial first innings lead of 87 runs.
Ravichandran Ashwin (10/10)
The wily spinner was India's best player in the series.
He finished the series with 21 wickets, at an average of 18, including two five wicket hauls.
India lost the first Test in Galle despite Ashwin taking ten wickets. He did not lose heart and produced another match-winning spell in the next match, taking five wickets in the second innings at the P Sara Oval in Colombo.
In the third Test, he went wicketless in the first innings but made up for it in the second, claiming four wickets to finish off the Sri Lankan lower order.
He also scored a crucial half-century (58) in the second innings of the third Test, enabling India set Sri Lanka a difficult target.
Amit Mishra (8/10)
Making a comeback to Test cricket after four years, Mishra showed what the Indian team had missed all these years.
When India played three spinners in the first Test, the leggie stood out.
He performed better in the second Test, taking seven wickets, and starred with the bat in the third, scoring 58 and 39.
Ignored under Mahendra Singh Dhoni's captaincy, Mishra has Kohli's trust. He repaid his captain's belief in his skills, finishing joint second highest wicket-taker with 15 wickets.
Ishant Sharma (9/10)
While the Sri Lankan pitches were seamer-friendly, Ishant's extra pace made him the standout bowler of the series.
Known to be a hit-the-deck bowler, Ishant got his tactics right as he pitched the ball up more often than not and was rewarded with much success.
The third Test may be remembered for his altercations with the Sri Lankan players, but few can overlook his remarkable fast bowling -- perhaps one of the best by an Indian pacer in recent times -- which saw him end the series with 13 wickets and a good strike rate of 23.23.
Umesh Yadav (6/10)
Called upon to replace Varun Aaron after the first Test, he lived up to expectations.
He finished with five wickets in the two games he played, bowled with good pace and gave the batsmen problems to think about, especially with the new ball.
Umesh, who has been criticised in recent months for lack of control, got his bearings right without compromising on pace.
Harbhajan Singh (4/10)
While he bowled eight overs in the first innings of the Galle Test, he sent down double that amount in the second and was unlucky not to pick more than the solitary wicket he ended up with.
Varun Aaron (4/10)
Aaron's extra pace makes him a captain's choice.
Though he took just two wickets in the Galle Test before being dropped like Bhajji, he did bowl some good spells.
Clearly, one for the future.