The International Cricket Council said Sunday it had lifted its ban on Sri Lanka Cricket after Colombo promised to end political interference in the board's administration.
The controversy related to alleged corruption in Sri Lanka's cricket board, the richest sporting body in a country still reeling from a crippling economic crisis.
The ICC ban had prevented Sri Lanka from taking part in international events and it lost an opportunity to host the Under-19 World Cup.
"The International Cricket Council (ICC) Board has today lifted the suspension of Sri Lanka Cricket (SLC) with immediate effect," the sport's world governing body said in a statement.
The SLC was suspended in early November after the ICC accused it of failing to autonomously manage its affairs without political interference.
The ICC said it was now "satisfied that SLC are no longer in breach of membership obligations".
Sri Lanka's new sports minister, Harin Fernando, has been in talks with the ICC and pledged to end political meddling in the cricket board, official sources told AFP.
Fernando's predecessor, Roshan Ranasinghe, had appointed an interim committee to run Sri Lanka Cricket after sacking the elected board, despite objections from the ICC.
Ranasinghe had accused office-bearers of gross corruption, a charge they have denied and are challenging in court.
President Ranil Wickremesinghe intervened soon after and sacked Ranasinghe.
The ICC has rules against political interference and has previously suspended Sri Lanka.
The recent ICC ban had still allowed Sri Lanka to proceed with bilateral tournaments and host Zimbabwe for three ODIs and three T20 matches this month.