Barishal won the toss and got an early success, removing Jahurul Islam for two. Taskin Ahmed bagged the wicket in the third over of the game.
However, Zakir and Imrul Kayes added 90 runs in the second wicket stand.
Imrul fell prey to Kamrul Islam Rabbi for 37 off 34 with two fours and one six, but Zakir was firm on the other end of the wicket. He ended up on 63 off 42 balls with 10 fours.
But, Shakib (14) and Mahmudullah (24) failed to thrive on the solid start. And Khulna ended up on 173 for six in 20 overs.
Rabbi took three wickets conceding 33 runs in four overs while Taskin bagged two wickets for 44 runs in four overs.
In reply, Barishal managed to post 125 runs in 19.5 overs and lost the game by 48 runs.
Tamim Iqbal (32), Towhid Hridoy (33) were the only batsmen to have passed the 30-run mark for them. Parvez Hossain Emon (19) and Irfan Sukkur (16) also managed a decent start but failed to capitalize.
For Khulna, right-arm spinner Shuvagata Hom took two wickets for 18 runs in three overs. He conceded 13 runs in the first over but made a good comeback in the next two.
Shahidul Islam and Hasan Mahmud also bagged two wickets each.
It was the third win for Khulna in five games. However, Barishal managed to be on the winning side just once while playing the same number of games.