三義鄉為三義台地盤結之地,介於火炎山與關刀山之間,地勢以東緣的關刀山山脈為最高,連關刀山、祭凸山一線為分水嶺,以北為西湖溪上源,以南為大安溪北側支流鯉魚溪(景山溪)流域。受河川切割、侵蝕,境內矮陵起伏,平均高度約海拔四OO公尺,呈現典型丘陵地形,山多田少,平原占百分之十,餘為山地、丘陵。
高速公路三義交流道為界,北部西湖溪上游,地勢由南向北傾斜開口成峽谷狀,河谷平原狹小,耕地面積有限,街道沿緩坡而建,為主要聚落所在。南部大安溪及其支流鯉魚溪沖積平原,一片沃野,為主要農業地帶。
關刀山山脈位在鄉境東緣,北起後龍溪南岸龍船山,南至大安溪北岸之下太平山,全長二十四公里,主峰關刀山,高八八八公尺,為本鄉與銅鑼、大湖、卓蘭之界山。整條山稜,翠巒綿互,附近地形多為坡緩稜寬的丘陵地,高度三百至八百公尺。
火炎山位在鄉境西側與苑裡交界處,為苗栗丘陵(位後龍溪以南、大安溪以北,尖豐公路以西到台灣海峽)最高峰,近大安溪一側邊坡,地表呈「惡地」地形。