India s hopes were wrecked after being dismissed for a meager 138 in 33.3 overs. Mathews claimed 3-14 from seven overs and Perera 3-19 from eight, with only opener Gautam Gambhir providing any resistance for India by scoring 65.
In reply, Sri Lanka reached 139-1 inside 20 overs, scoring at nearly seven runs per over. Upul Tharanga was unbeaten on 59, hitting eight boundaries, and Dilshan smashed five fours in scoring 50.
The pair put on 119 for the first wicket in 100 deliveries before Dilshan was caught by India captain Mahendra Singh Dhoni off spinner Ravichandran Ashwin.
India made a promising start by scoring 31 in four overs after electing to bat first, but Perera s three-wicket burst without conceding a run in three overs curbed the hosts momentum.
He first pulled off a sharp return catch to dismiss Virender Sehwag for 15. Perera later took the wickets of the in-form Virat Kohli and Suresh Raina.
Kohli, who had four centuries in his last five innings, played a loose shot on 1 to be caught by wicketkeeper Kumar Sangakkara. Kohli won the man-of-the-match award on Saturday for scoring 106 while Sehwag hit 96 as India won by 21 runs to lead 1-0 in the series.
Rohit Sharma was out without scoring, bowled by Mathews off the bottom edge. He made 5 in the first match. Raina departed in identical fashion to Perera, for 1. Ashwin threatened a comeback by scoring 21 off 15 balls before being run out.
Gambhir was the last man out after 33.3 overs, having hit four boundaries in 96 balls.
There are three matches left in the series. The next game is in Colombo on Saturday