본관은 인동(仁同). 호는 창랑(滄浪). 경상북도 구미시 오태동(구 경상북도 칠곡군 북삼면 오태) 출신. 경상도관찰사 장승원(張承遠)의 아들이다.
1913년에 영국 에든버러대학에 입학하였다가 중퇴하고 1921년에 귀국하였다. 1930년에 경일은행(慶一銀行) 상무에 취임했으며 청구회(靑丘會) 회장을 지냈다.
광복을 맞아 수도경찰청장·제1관구 경찰청장을 지내면서 좌익을 제압했다. 1948년 정부수립과 함께 초대 외무부장관에 취임하였고, 1950년 고향 칠곡군에서 국회의원으로 당선되었으며, 그해 국회 부의장이 되었다.
1950∼1951년 유엔총회 한국대표로 참석하고, 1952년 국무총리가 되었다. 부산정치파동이 일어나자 발췌개헌을 제안해 이승만의 대통령직선제 개헌을 도왔다. 1954년 제3대 민의원에 당선되었고, 1956년 원내국민주권옹호투쟁위원장을 지냈으며, 1958년 제4대 민의원에 당선되었다. 1960년 제5대 민의원에 당선되었으나 5·16군사쿠데타로 국회가 해산되었다.
그 뒤 한일협정반대투쟁위원회에 참여하고 신민당 고문을 지냈다. 1969년 8월에 사망했다.
장례는 1969년 국민장으로 치러졌으며 국립묘지에 안장되었다.