Forfar remain top of League Two thanks only to promotion rivals Arbroath’s loss.
A last-minute penalty miss prevented the Loons rescuing even the point that would have actually extended their lead.
Instead, the save from man-of-the-match David Cox’s effort took Forfar’s woeful run of form to seven games without a win.
The fact that his side were the authors of their own misfortune was not lost on an incandescent manager Gary Bollan afterwards.
But as well as the harsh words, Bollan insisted honest debate between players and coaching staff in the home dressing room will help Forfar find winning ways again.
“Where do we start with that? We were the authors of our own downfall,” he said.
“The three goals, we defended poorly. The first one was a cross we didn’t defend in the box, the second we are expecting our centre-halves to defend but they didn’t pick up and the third, it is another defensive error.”
Berwick took the lead after just seven minutes through Pat Scullion before keeper Sean Brennan denied Forfar trio Danny Denholm, Jamie Bain and Lewis Milne.
Scullion knocked away what looked a certain leveller from Milne in the 36th minute and Brennan pulled off a wonder stop to deny Jim Lister. But, right on half-time, Denholm headed Forfar back on level terms.
It was one way traffic in the second half as Forfar piled forward but they came up against an inspired Brennan in goal and could not convert their chances.
Berwick made them pay in the 73rd minute when they broke upfield and Aaron Murrell swept home.
Three minutes later Berwick looked to have wrapped up the points after a tremendous solo run by Greg Rutherford saw him round the Forfar keeper and roll the ball into the empty net.
Forfar grabbed a potential lifeline with seven minutes left when Aiden Malone was fouled in the box and Cox converted the penalty. Then deep into injury time Forfar were handed a gilt-edge chance to rescue a point when Kevin McKinlay handled in the box and referee Ryan Milne awarded a second penalty.
Cox stepped up again but it was a tired strike and Brennan saved.