Perera made his international debut for Sri Lanka in December 2009, in a late call-up to play in an ODI against India in Kolkata. He took his first five-wicket haul in international cricket in August 2010, earning him the player of the match award in an ODI victory over India. He took five wickets in an ODI against Australia on the same tour.
Perera was a member of Sri Lanka's squad for the 2011 Cricket World Cup in Sri Lanka, India and Bangladesh. He was part of the team defeated in the final of the tournament by India, scoring 22 not out off ten deliveries and taking the wicket of Gautam Gambhir. He was not selected for the Test series against Pakistan later in the year, being retained only for the ODI and Twenty20 sides, but was recalled to the Test team for the end-of-year tour of South Africa He played two ODIs on the tour and scored his first half-century in the format—69 not out off 44 balls—to help Sri Lanka to victory in the fourth of the five-match series in Kimberley. In the 2nd ODI of 2012 series between Pakistan and Sri Lanka, he done brilliant late-order hitting and became first ever person to take 6 wickets against Pakistan in an ODI - his career best. This performance won him the Man of the Match as well. In the 4th ODI of the same series, he shocked Pakistan by taking a hat-trick and managing a run-out in his maiden over took the wicket of saajid and became first Sri Lankan to register a hat-trick against Pakistan. He is also famous for his six hitting ability in T20s and ODI in death overs.
On 26 July 2013 Against South Africa Perera Hit Robin Peterson For 35 Runs In One Over. (6,6,6,4,Wd,6,6). Which is Second Most Expenssive over in ODI History.
He was selected in Sri Lanka's Test squad for a series against England. He made his debut in the first Test of the series at Sophia Gardens, Cardiff.[ In an innings defeat, he scored 25 and 20 with the bat and took no wickets. He was not selected for the Test series against Pakistan later in the year, being retained only for the ODI and Twenty20 sides, but was recalled to the Test team for the end-of-year tour of South Africa. He played in all three Tests of the tour, scoring 81 runs and taking five wickets.
He was a member of the Sri Lankan team that in October 2010 inflicted Australia's first defeat in a Twenty20 international in Australia, bringing up Sri Lanka's final 16 runs to win the match off three deliveries.