Two interruptions either side of tea saw almost two hours' play lost to the conditions at Lord's after Essex resumed on 19-0, chasing 452 to win.
A Middlesex win looked a formality at 130-7 when Ravi Bopara (32) had his off stump removed by Steven Finn.
But Neil Wagner and Simon Harmer held on in fading light for 15 overs to help Essex draw on 160-8.
Middlesex have drawn their opening two games of the Division One campaign while Essex, promoted as Division Two champions, remain undefeated with a win and two draws.
Their bid to survive the final day hit a setback when Nick Browne was bowled in the fourth over of the morning by Tim Murtagh.
Former England captain Alastair Cook passed 20,000 first-class runs in his career when he reached 16, but was smartly caught at short leg by Stevie Eskinazi for 37 off Ollie Rayner shortly before lunch.
Finn (2-39) and Toby Roland-Jones (3-42) both did damage to the Essex middle-order as the visitors slumped from 74-2 to 130-7 and appeared set for a heavy defeat.
Eighth-wicket pair of New Zealand international Wagner and South African Harmer stood firm as the light faded.
But, although Dawid Malan trapped Harmer leg before with his leg break, an over later, umpires Ian Gould and Paul Baldwin took the players off for bad light for a final time, with 13 overs still to bowl.
Middlesex head coach Richard Scott told BBC Radio London:
"We were the dominant side throughout and, had it not been for bad light at the end, there would have had a very sound victory. We couldn't really complain too much when the umpires took us off.
"That was frustrating but we were back to our our best in this game. The top three were excellent in both innings and in the first innings we had partnerships all the way down.
"We bowled very well. Steve Finn in particular got into a really good rhythm and was unlucky not to get a few more wickets.
Essex fast bowler Simon Harmer told BBC Radio Essex:
"To still be unbeaten after three Championship games since promotion is a very good start for us. This has turned out to be a very good draw.
"We fought hard against a good side and from a personal point of view it was an enjoyable game. It was the first time I have played at Lord's and it was nice to get some wickets.
"I wish my economy rate had been a bit better perhaps. But it was a brilliant experience. Hopefully, I will have many more opportunities to play at Lord's."
Bad light denied county champions Middlesex a first win of the season as Essex held on eight wickets down.