溫泉是地下水在地底下經過加熱而成,水溫升高使得地下水的體積膨脹並導致地下水壓力變大,只要有裂隙存在,熱水便會沿著裂隙湧出地表成為溫泉。所以溫泉的形成必須具備兩個地質條件:

   台灣處於板塊碰撞形成的造山帶環境中,地殼受到強烈擠壓因而產生許多的斷層,斷層的裂隙提供通道使得被加熱的地下水可以自然湧出地表形成溫泉。另外,台灣北部地區存在晚更新世的火山,因此也是溫泉分布密集的區域。以下就敘述這兩種地質區的溫泉成因。
   火山地區因為地下具有熾熱的岩漿庫(岩漿湧出地表前的儲藏庫),地底溫度會比一般地區來得高,而且火山爆發時會在火山周圍造成許多斷層與裂隙,於是被加熱的地下水很容易沿著裂隙上升到地表形成溫泉(圖5-1),火山地區的溫泉以大屯山溫泉為代表,其他地區如基隆嶼、龜山島、綠島與蘭嶼等火山倒也都有溫泉的分佈地區。

    除火山地區之外,台灣其他地區的溫泉都與斷層有關,主要分布在斷層帶沿線,斷層破碎帶不僅提供溫泉水上升的通道,同時也是儲存溫泉水的地下水庫。但又是甚麼原因使得地下水變成熱水?

  
原來它的熱源來自地球本身的溫度,地質學家稱為『地溫』。地球上生物賴以生存的能量來源除了取自源源不絕的太陽能之外,地球內部也提供不少熱源。因為地球含有相當豐度的放射性元素,這些元素在衰敗的過程中同時產生熱能,所以地球內部其實好像一個大火球,地球內部的溫度在正常情形下是愈往地下深處溫度愈高,平均從地表向下1公里的溫度大約要升高25-30度(地表平均溫度約15度),所以地下1公里深處的溫度約40-50度,流經此地的地下水自然就被地球的溫度加熱成為熱水,以人類正常體溫36-37℃而言,四十幾度的水就會覺得溫熱甚至燙人了。熱水可以沿著岩石裂隙上升到地表自然湧出形成湧泉(圖5-2),也可以利用鑽井抽取地下水的方式取得熱水。理論上鑽井至地下深處應該就可以取得溫泉水,但不見得就可以大量地抽取,因為地下岩層很緻密的,岩層的裂隙空間也有限,因此地下水的儲量有限,同時地下水的補充是非常緩慢,大部分地下水儲存的年代都有數十年的歷史,有些地下水補充緩慢的地區,地層中『化石水』的年代甚至可以超過萬年之久。斷層破裂帶提供的儲水空間使得溫泉大都沿著斷層線分布,但是再大的倉庫也有一定的儲存量,一旦地下溫泉水的抽取速率遠大於補充速率時,地下溫泉終有枯竭的一天。