하후연의 요청으로 조조는 군사를 이끌고 한중으로 향했으나 내부의 우환으로 인해 장안에서 잠시 군사를 멈춰 상황을 지켜보기만 하였다. 219년 정월, 유비가 밤에 녹각을 불사르며 포위하자 하후연이 장합에게 동쪽을 지키게 하고 자신은 경병을 이끌고 남쪽을 지켰다. 이때 유비는 군사 1만을 열갈래로 나누어 광석에 주둔하던 장합을 한밤중에 불을 지르며 기습했다. 갑작스러운 공격에 장합은 악착같이 버텼으나 풍전등화의 상황에 놓이기된 장합은 본영의 하후연에게 지원을 요청했고 하후연은 지휘하던 군사를 절반으로 나눠 장합을 지원하게하였다.

사실 이것은 장합을 집중공격함으로써 하후연의 군사를 분산시키고 그사이에 한중방면 사령관인 하후연을 격파해 전사시키며 한중 위군의 지휘체계를 붕괴시키려는 유비의 계획이었다. 한편 정군산에서 하후연군의 상황을 지켜보던 법정은 지금이야말로 하후연군을 격파할 수 있는 시기라고 전했고 미리 매복해두었던 황충의 기습부대는 여기저기 사방을 돌아다니면서 하후연군을 공격하고 녹각에 불을 질렀는데 징과 북소리가 하늘을 울리고 병력이 이곳을 쳤다 저곳을 쳤다 어김없이 전진하였다 하니 그 기세가 얼마나 급작스럽고 번개같았을지 짐작이 된다.

하후연은 병사 4백명을 이끌고 불탄 녹각을 수리하며 자신에게 남은 정예부대를 투입해 황충군을 막으려고 하였으나 끝내 하후연군의 예봉은 꺽였고 하후연은 난전 중에 참살당했다. 그렇게 황충은 한번의 전투로 적장을 참하고 정군산을 점령하였다. 황충은 이 공로로 토로장군에서 정서장군으로 승진하였다.

유비의 예상대로 하후연이 죽자 한중 위군의 지휘체계는 무너져내렸고 공석이 된 한중방면 사령관의 자리는 장합이 대신하게 되었으며, 장안에 있던 조조는 이 소식을 전해듣고 다급하게 군사를 이끌고 한중으로 이동하였다.

하지만 한중 전투의 승기는 이미 유비에게 넘어간 상황이었다. 게다가 유비는 후방지원을 맡은 제갈량덕에 피해를 입을때마다 빠르게 회복하였으나 본거지에서 멀리 떨어진 조조의 피해는 늘어만갔다. 결국 조조는 유비에 견고한 방어에 막혀 한중을 포기하고 후퇴하였다.
기존 한중 방면 사령관을 전사시킨 인물은?
황충