Harmer slutade med matchsiffrorna 14-172, då länsmästarna förlorade sina sista fem wickets för 10 körningar.
Nick Compton 120 off 303 bollar hade hjälpt Middlesex återhämta sig från 51-3, sätta på 153 med Paul Stirling (55).
Men de sjönk från 252-5 till 262 alla ut som Division One ledare Essex vann med en innings och 34 körningar.
Sydafrika internationella Harmer, som returnerade karriär-bästa siffror på 14-128 i förra veckans seger över Warwickshire, har nu tagit 47 wickets i åtta matcher denna säsong.
Middlesex började dagen på 27-0, fortfarande behöver ytterligare 273 körningar för att undvika en innings nederlag, och fick den värsta möjliga start när Nick Gubbins (16) fångades av Alastair Cook.
Harmer såg sedan av Stevie Eskinazi (12) som fångades av Varun Chopra vid ben slip, dyka framåt med en hand efter Cook hade pared bollen på slip, medan Dawid Malan snart följde efter för en.
Compton stabiliserade fartyget och avslutade sitt första århundrade av säsongen från 232 bollar, men var instängd ben innan för att bli Harmers 11: e wicket av spelet och Middlesex avsides.
De förlorade sina sista fyra wickets i 27 bollar, skicka Essex 29 poäng klart på toppen av Division One tabellen.
Spinner Simon Harmer tog en karriär-bästa 9-95 som Essex slog Middlesex med bara ögonblick av en dramatisk slutkväll på Chelmsford kvar.