Das Waldhufendorf Haselbach liegt etwa 8 Kilometer nördlich von Olbernhau im Erzgebirge. Die Ortslage erstreckt sich über etwa 1,5 Kilometer entlang des gleichnamigen Baches, einzelne Güter liegen verstreut nahe der nach Nordwesten zur Bundesstraße 101 führenden Straße. Südlich begrenzt der Drachenwald die Ortsflur, im Osten schließt sich unmittelbar die Ortslage Dörnthals an. Im Norden liegt der Berg Ochsenkopf. Durch Haselbach führt die Kreisstraße 8113 Forchheim–Dörnthal.
Die erste urkundliche Erwähnung des Ortes datiert aus dem Jahre 1434 in der heutigen Schreibweise.[2] Bis 1654 unterstanden die Ansiedlungen nördlich bzw. südlich des Haselbach verschiedenen Grundherren, erst danach kam es wieder zur Vereinigung. Nach dem Dreißigjährigen Krieg entstand Neuhaselbach auf den Fluren des ehemaligen Zweihufengutes. Mit der Reformation 1539 kam Ober-Haselbach (südlich des Baches) zur Parochie Forchheim und Nieder-Haselbach (nördlich des Haselbaches) zur Parochie Mittelsaida. August Schumann nennt 1820 im Staatslexikon von Sachsen Nieder-Haselbach betreffend u. a.:
„Im J. 1801 zählte man 331 Consumenten, 118 Kühe und 10 Schafe. Das Rittergut ist unansehnlich. Der Ort hat eine Mühle. Auch geht hier die Straße von Freiberg nach Blumenau durch, wichtig wegen der Kohlenfuhren nach den Hüttenwerken. […] Die hiesigen Weber (vgl. Niederforchheim) lieferten 1800 gegen 940 Schock Leinwand, und die wenigen Strumpfwürker 34 Dutzend baumwollene Strümpfe u. a. Strumpfware.“[3]
Für Oberhaselbach nennt Schumann „eine Mühle mit 2 Gängen, so wie an der Straße von Freiberg nach Blumenau ein Gasthaus“.[4] Ein Schulgebäude wurde 1782 errichtet, welches bereits 1855 durch einen Neubau ersetzt wurde. Niederhaselbach gehörte bis 1832 als Exklave zum Amt Wolkenstein.[5] Erst dann kam es zum Amt Lauterstein, zu welchem Oberhaselbach bereits immer gehörte.
Am 1. Mai 1974 wurde Haselbach nach Dörnthal eingemeindet. Zum 1. Januar 1999 erfolgte der Zusammenschluss der bis dahin eigenständigen Gemeinden von Dörnthal, Hallbach und Pfaffroda b. Sayda zur Gemeinde Pfaffroda, Haselbach wurde ein Ortsteil der neuen Gemeinde.[6]
Am 1. Januar 2017 wurde die Gemeinde Pfaffroda mit allen Ortsteilen in die Stadt Olbernhau eingemeindet.