Sachin Tendulkar chipped in with 54 and Suresh Raina made 41 not out to help India surpass a challenging target of 257 just before tea on the fifth day at the P.
Sara Oval.
Raina smashed seamer Chanaka Welegedera over mid-on for a six to signal the series-levelling win after Sri Lanka had taken the opening Test by 10 wickets, while the second was drawn.
Laxman, aged 35, and Tendulkar, 37, shared a match-winning partnership of 109 runs for the fifth wicket in what was probably the last Test innings for the two veterans on Sri Lankan soil.
Laxman was on 60 when he developed back spasms and called for a runner in Virender Sehwag after being treated by team physiotherapist Nitin Patel on the field.
The stylish Hyderabad batsman, later named man of the match, followed his 56 in the first innings with his 16th Test century that was studded with 12 boundaries.
Raina, playing only his second Test, hit four fours and a six during an unbroken stand of 87 for the sixth wicket with L