Historia Poraj po raz pierwszy pojawił się w źródłach historycznych w roku 1496, kiedy starosta krzepicki Stanisław z Kurozwęk z polecenia króla Jana Olbrachta założył w małej osadzie stadninę koni. Osada przyjęła nazwę od herbu Poraj Stanisława z Kurozwęk, syn Dobiesława Kurozwęckiego, wojewody lubelskiego. W roku 1556 za panowania króla Zygmunta II Augusta założono pierwszy w Polsce szlak pocztowy z Krakowa do Krzepic przez Olkusz, Koziegłowy, Częstochowę. W Poraju została założona stanica wymiany koni pocztowych. W 1846 roku wybudowano stację Poraj w ramach budowy kolei Warszawsko-Wiedeńskiej. W 1862 roku założono pocztę. W 1913 roku została założona Ochotnicza Straż Pożarna (remiza strażacka znajduje się przy ulicy Józefa Piłsudskiego 9). W 1920 roku utworzono gminę Poraj. Do 1925 roku Poraj był siedzibą gminy Choroń. Do 1 września 1927 roku Poraj należał do powiatu będzińskiego, następnie do powiatu zawierciańskiego. W czasie II wojny światowej Niemcy nazywali miejscowość „Porwalde”. 17 stycznia 1945 r. z Poraja wycofały się wojska niemieckie, a następnego dnia do Poraja wkroczyła Armia Czerwona.
W latach 1975–1998 miejscowość położona była w województwie częstochowskim.