Bervie took the lead early on when a through ball fell for Nicky Laurence to score.
Bervie kept up the pressure and from a Marc Smith corner, a Callum Morrison header hit the bar.
Fraserburgh equalised when keeper Walker couldn’t hold a shot and an attacker knocked the ball home.
Bervie regained the lead when Cabrelli knocked the ball into the box and Stuart Smith smashed it home.
After half-time, Matthew Cook had a chance but could not get enough power behind his shot.
McLeod shot just wide of the target, then Bervie made a change when Kiefer Brown replaced Stuart Smith.
Ten minutes later, Chris Dandie replaced the booked Marc Smith in case he got sent off.
Bervie went 3-1 up when a powerful shot from McLeod was parried by the keeper and Kiefer Brown smashed home the rebound.
Adam Smith replaced Michele Cabrelli with Craig McKenzie moving to left-back.
The home side scored again when Laurenson waltzed into the box and and laid the ball off for Kiefer Brown to score.
Michael Buchan went on for the tiring Cook and Nathan Buchan for Craig McKenzie.
Bervie completed the scoring when Nicky Laurenson played a one-two with McLeod and smashed a shot low past the keeper.