본래 신라의 추량화현(推良火縣, 또는 三良火縣)이었으나 757년(경덕왕 16)현효(玄驍)로 바꾸어 양주(良州) 소관의 화왕군(火王郡 : 지금의 昌寧)의 영현으로 하였다.
940년(태조 23)현풍(玄風, 또는 玄豊)으로 바꾸고 1018년(현종 9)밀성군(密城郡 : 지금의 密陽)의 임내로 하였다가 1390년(공양왕 2)에 처음으로 감무를 두었다. 이 때 밀성군의 구지산부곡(仇知山部曲)을 내속시켰다. 1413년(태종 13) 감무를 현감으로 개칭하였으며 이칭으로 포산(苞山)이라고 하였다.
그 뒤 1895년(고종 32)대구부 소관의 현풍군이 되었다가 다음해경상북도 소관의 군이 되었고, 1914년 행정구역개편 때 현풍면이 되어 달성군에 통합되었으며, 1995년에는 광역시에 속하게 되었다. 현풍면은 2018년 11월 1일에 현풍읍으로 승격되었다. 조선시대에는 이 지역은 군사·교통상 중요한 곳이었다.
1592년(선조 25) 의병장 곽재우(郭再祐)가 이곳의 왜병을 격파시켜 창녕과 현풍간의 왜군을 대구로 철수하게 하였다. 소이산(所伊山)의 봉수는 남쪽의 태백산, 북쪽의 말응덕(末應德) 봉수와 연결되었다.
현의 서쪽에 있는 강창(江倉)은 이곳의 세곡을 모아 낙동강을 따라 운반하였으며, 육상교통으로는 창녕·대구·고령 등지와 연결되는 도로가 발달하였다.