Mohamed Aziz opened the score for Berkane in the 20th minute, before Imad Kimaoui netted for Hassania.
Mohamed Aziz scored his second penalty of the night in the 61th minute to offer Berkane a precious victory.
The Moroccan side will play in the final the winner of the second semi-final slated on Tuesday between Egyptian Pyramids and Guinean Horoya Conakry.
The final is set to take place on Oct. 25.