본래 신라의 지답현(只畓縣)이었는데, 757년(경덕왕 16)에 기립현(鬐立縣)으로 고치고 양주(良州) 의창군(義昌郡: 지금의 포항시 흥해읍)의 영현이 되었다. 940년(태조 23) 장기현으로 고쳤고, 1018년(현종 9) 경주부의 속현이 되었다. 1390년(공양왕 2) 현으로 승격하여 감무를 두었다.
조선 시대에는 왜구의 방어를 위하여 태종 때 지현사(知縣事)를 두었다가 그 뒤 현감으로 바꾸었다. 1895년(고종 32) 동래부의 장기군이 되었다가 다음해 경상북도로 이관되었고, 1914년 행정구역 개편 때 영일군 장기면이 되었다. 그 뒤 1934년 봉산면과 합하여 새로운 면을 만들 때 장기현의 옛 이름인 지답의 답(畓)자를 잘못 써서 행(杏)이 되어 지행면이 되었다.
1991년에 장기면으로 개칭되고 1995년에는 영일군과 포항시가 통합되어 포항시가 되었다. 장기의 지명 유래는 이곳의 지형이 긴 반도로 말갈기와 같다는 데에서 나온 것으로 추측된다.
이 지역의 지리적 위치로 보아 경주의 동쪽 외곽 지대이므로 신라 때부터 군사적으로 중요시하였던 곳이다. 신라 때의 옛 읍성이 있었고, 고려 현종 때 옛 읍성 북쪽에 새로이 읍성을 쌓았다.
해변가의 포이포진(包伊浦鎭)은 선조 때 동래로 옮기기 전까지 수군만호가 주둔하였었다. 이 지역 해안에 있던 복길(福吉)ㆍ뇌성산(磊城山) 봉수는 남북으로 연결되었고, 발산봉수(鉢山烽燧)는 내륙 지방의 영일ㆍ영천 지방의 봉수와 이어졌다. 조선 시대에는 봉산역(峯山驛)을 통해 남쪽의 울산과 이어지는 해안도로가 발달하였고, 장기에서 서쪽으로 사현(沙峴)을 넘어 영일에 이어졌다.
현재 호미곶 등대가 있는 동을배곶(冬乙背串)은 당시 목장이 있었는데, 울산에 속하여 있어 월경지(越境地)의 행정 지역이었다.