Pakistan piled up 175-5 after electing to bat and then restricted the reigning World Twenty20 champions to 146-7 in the day-night match at the Premadasa stadium.
Akmal hit three boundaries and as many sixes during an entertaining fourth wicket stand of 81 from just 45 deliveries with Shoaib Malik, who remained unbeaten on a 31-ball 46.
Ahmed Shehzad was the other notable contributor with 46 off 38 balls, but Sri Lanka lost the way when Pakistan plundered 70 runs in the final six overs to set up the challenging target.
Pakistan lost opener Mukhtar Ahmed in the second over, but Shehzad and Mohammad Hafeez revived the innings with a 42-run partnership for the second wicket.
Debutant left-arm seamer Binura Fernando conceded 17 runs in the 16th over which included two consecutive sixes by Akmal.
Sri Lanka’s captain Lasith Malinga was the most expensive bowler, giving away 46 runs in his four overs. The hosts were dealt early blows as Kusal Perera fell off the third ball of the innings and Tillakaratne Dilshan was dismissed in the next over to make it 13-2.
Debutant Dhananjaya de Silva looked promising during his knock of 31 and another youngster Milinda Siriwardana made 35, before Chamara Kapugedera justified his recall with three sixes in his unbeaten 31 off 16 balls.
Tanvir, the left-arm seamer, finished with three for 29 and Anwar Ali took two for 27 to tie down the Sri Lankan batsmen.
The second match will be played at the same venue on Saturday with Pakistan looking to complete a triple on the current tour, having earlier clinched the Tests 2-1 and the one-dayers 3-2.