Der Umstand, dass zwischen St. Johann im Saggautal und Untergreith sowie im Ehrenbichlwald, Ortschusterwald und im Oizingerwald antike Grabhügel gefunden wurden, lässt auf eine römerzeitliche Besiedlung des Gebietes schließen. Dass dieses Gebiet im Mittelalter eine wirtschaftliche Bedeutung hatte, zeigen die Reste hunderter Eisengruben aus dieser Zeit.
Der Pfarrpatron, St. Johann Baptist, gab dem Ort seinen Namen, in dem der Vorgängerbau der heutigen Kirche bereits im 12. Jahrhundert genannt wird.
Um 1100 schenkte Graf Heinrich von Spannheim dem Stift St. Paul im Lavanttal den Hof, die Kirche und das Dorf Saggau. Während das Dorf Saggau schon bestand, wurde für St. Johann nur die Pfarrkirche erwähnt. Im Gegensatz zu Saggau, wo den Bauern aus vielen Fluren Ackerlose zugeteilt werden konnten, erhielten die St.Johanner Bauern je ein Ackerlos auf den drei Feldern des Kirchengrundes.
Das ganze Dorf, bis 1242 in der Hand Reinberts von Mureck als Lehensmann des Stiftes St. Paul, wurde in der Folge Stück für Stück an verschiedene Grundherren vergeben. In den nachfolgenden Jahrhunderten wechselten mehrmals die Grundherren den Besitz rund um die Gemeinde.
1770 wurde erstmals eine Hausnummerierung durchgeführt und 1849 kam es zur Zusammenfassung von sieben Katastralgemeinden zur politischen Gemeinde St. Johann im Saggautal.
Die Bewohner wurden zu freien Staatsbürgern, mit dem Recht auf Schutz ihres Eigentums. 1891 zerstörte eine Feuerbrunst einen beträchtlichen Teil der Gemeinde St. Johann im Saggautal und im Jahre 1906 ereignete sich ebenfalls ein Großbrand, bei dem vier Wirtschaftsgebäude samt Futter- und Getreidevorräten vernichtet wurden.
Im Jahre 1961 wurde der Gemeinde St. Johann das Recht zur Führung eines Gemeindewappens verliehen.