A goal in each half by Luke Daly sent the Mariners crashing to their first defeat since November.
Lenell John Lewis was handed his first start for the club since his move from Bury. Richard Brodie made way for the striker and started the game on the Town bench.
The Mariners struggled to get going on a pudding of a pitch in the first half and Daly fired the home side ahead on 26 minutes.
Town didn’t deal with a cross from the left and allowed Daly to steal in, hitting the ball down into the ground and past James McKeown and inside the post.
The visitors sparked into life towards the end of the first half with Lennel John-Lewis working hard for the Mariners up front. The striker saw an effort well saved by McDonald and later fired just wide of the keeper’s left hand post.
The Mariners had a great chance to get level after the break when Craig Disley burst through. Unfortunately for Town the midfielder seemed to snatch at his effort and the ball went just wide from the outside of the skipper’s foot.
Braintree made it 2-0 on 75 minutes direct from a corner. Craig Disley, on the near post, tried to volley clear but the ball evaded the Town midfielder and James McKeown before nestling in the back of the net.
Minutes later McKeown pulled off a fine save to deny the home side a third goal.
With the fog coming in the referee blew his whistle to end another disappointing night in Essex for the Mariners.