The ban was announced by the chairman of Pakistan Cricket Board's disciplinary committee, retired Justice Fazal-e-Miran Chauhan.
The 29-year-old Akmal decided to represent himself at the hearing at the National Cricket Academy in Lahore on Monday, while the PCB was represented by its legal adviser Taffazul Rizvi.
Rizvi said Akmal could appeal against the ban to the PCB within 14 days of Justice Chauhan issuing the detailed sentence.
Akmal was provisionally suspended on Feb. 20, just hours before he was due to represent Quetta Gladiators in the PSL's opening game at Karachi. Rizvi said he was not sure whether Akmal's three-year ban starts from Monday or from the day the batsman was provisionally suspended.
"The time period will be clear once we receive the detail order of the Justice Chauhan," Rizvi told reporters in a video conference.
Akmal was issued a notice of the charge by the PCB under the its Anti-Corruption Code on March 17. Rizvi said Akmal's response was very "vague" and that was the reason why Justice Chauhan wanted to conduct a hearing and listen to the batsman before making a verdict.
The PCB director of anti-corruption and security Asif Mahmood said the punishment was "once again a timely reminder to all who think they can get away by breaching the anti-corruption code."
"I request all professional cricketers to stay away from the menace of corruption and immediately inform relevant authorities as soon as they are approached. This is in their as well as their teams' and country's best interest," Mahmood said.
Akmal's career has been marred by disciplinary problems since he made his test debut 11 years ago.
He was sent home from England in 2017 when he failed a fitness test before the Champions Trophy that Pakistan won.
Akmal made a century in his debut test against New Zealand in 2009. He played 16 tests to 2011, scoring 1,003 runs. He has played 121 one-day internationals and 84 Twenty20 matches. He was recalled last year for the three-match T20 series against Sri Lanka in Lahore, but didn't score in the first two games and was dropped.