Zoysa made his first class debut in 1996/97 and during his first season he took his career best figures of 7 for 58, playing for Sinhalese Sports Club. He made his Test debut soon after in Dunedin against New Zealand. He has gone on to take over 100 ODI wickets for Sri Lanka, the ninth to have achieved the milestone.

An aggressive lower order batsman, Zoysa once won an ODI game against Australia with an unbeaten 47. He was also bought by the Deccan Chargers Franchise in the IPL but he was removed from the team for his poor performances.