국군 제1군단은 1950년 8월 초 북한군의 주력이 안동∼의성∼영천 접근로에 투입될 것으로 판단하고 예하 제8사단을 의성 일대에, 수도사단을 길안 일대에 배치하였다. 그러나 수도사단이 8월 5일부터 단행된 적의 대규모 공격을 받고 방어선이 와해됨에 따라 제1연대는 의성 일대로, 퇴로가 차단된 제18연대와 독립 기갑연대는 구수동을 경유해 의성으로 철수하였다.
위기를 느낀 육군본부는 포항지구전투사령부를 급편하여 의성에 집결한 수도사단을 안강으로 이동시키는 한편 제18연대와 독립기갑연대를 현동으로 진출시켜 기계 일대의 적을 남북 양쪽에서 포위하였다.
8월 13일 제1군단의 명령에 따라 수도사단은 제1연대를 안강지구로 이동시켰고, 제18연대와 독립 기갑연대는 구산동에서 동남진하였다. 퇴로차단의 위협을 느낀 적이 비학산 일대로 퇴각함으로써 수도사단은 18일 오후 기계를 탈환하였다.
비학산 일대에서 제766부대를 해체해 병력보충과 부대를 재편성한 적은 8월 26일 야간에 대규모 공격을 재개해 새벽 무렵에 기계를 재점령하였다. 수도사단이 기계 남쪽 고지에 제18, 제17, 제1연대순으로 방어진지를 편성하고 있는 가운데 9월 2일 적은 공격을 재개하였다. 전차를 선두로 기계∼안강 도로를 따라 주공을 투입한 적은 일부 병력으로 제18연대를 우회 공격함으로써 아군 방어선의 서측이 위태롭게 되었다.
수도사단장은 사단의 좌측 방어선이 돌파되자 안강 남쪽의 곤계봉∼호명리 일대로 철수를 명하였다. 그리고 무릉산∼곤계봉 간에 기갑연대와 제3연대를 추가로 투입해 방어력을 강화하였다. 반면 안강에 집결한 적은 전차를 선두로 경주를 향해 남진을 시작하였고, 무릉산∼곤계봉 일대에 병력을 집중해 공격하였다.
수도사단은 적의 집중적인 공격을 받고 수 시간 만에 진지가 돌파되었으나, 즉시 기갑연대 제3대대와 제17연대로 역습을 전개해 진지를 회복하고 적의 돌파구 확대를 봉쇄하였다. 하지만 양측은 곤계봉 확보에 전체작전의 성패를 걸고 치열한 쟁탈전을 전개하였다.
북한군 제12사단은 폭우로 인해 유엔 공군의 폭격이 중단된 틈을 타 공격을 재개해 곤계봉을 다시 장악하였고, 이어 옥녀봉과 운제산까지 진출하였다. 워커 중장의 운제산 탈환명령에 따라 제18연대는 운제산 서남쪽에서 적의 경주 진출을, 그리고 제26연대는 운제산 우측에서 적의 비행장 방면 진출을 차단하였다. 수도사단은 제17연대가 9월 12일 야간에 곤계봉 탈환에 성공함으로써 안강 남쪽의 주저항선을 회복하고 공세로 전환할 수 있었다.
이 전투로 북한군 제12사단은 낙동강 전선의 동부지역 돌파작전에 실패하였고, 국군 제1군단은 기계와 포항지역 북방으로 후퇴한 적을 추격해 다음 단계의 반격작전으로 이행하였다.