한신은 손쉽게 위표의 군대를 격파하고 조나라와의 일전을 앞두게 되었다. 조나라의 원래 왕은 조헐이었고, 장이와 진여가 그를 보좌했다. 그러나 항우는 조헐을 대나라 왕으로 보냈고, 대신 장이를 상산왕으로 봉했다. 진여에게는 인근의 작은 고을을 맡겼다. 조헐과 진여는 자신의 이전 지위에 걸맞지 않은 분봉을 받게 되어 분노했다.
앞서, 제나라에서 실권자 전영이 항우의 분봉에 반발하자, 진여는 자신의 부하 하열을 제나라에 보내서 자신에게 군대를 빌려 주면 제나라의 방어벽이 되겠다고 간했다. 전영은 군대를 빌려 주었고 진여는 제나라의 군대를 이끌고 조나라의 장이를 공격했다. 장이는 도망치면서 어디로 떠나야할지 고심하다가 항우가 아닌 유방을 택했다. 진여는 조헐을 데려와서 다시 조나라 왕으로 임명했고, 조헐은 진여를 대나라 왕으로 임명했다. 진여는 대나라로 돌아가지 않고 조나라에서 군사를 모집했고 대나라에는 자신의 부하인 하열을 보냈다.
하열은 대나라 군대를 이끌고 한신과 언여에서 맞서 싸웠으나 한신은 하열을 죽이고 그 군대도 패퇴시켰다. 하열의 대나라 군대를 쳐부순 한신은 조나라의 실권자 진여와의 전투를 준비했다.
조나라의 실권자 성양군 진여는 원래 유학자였다. 그래서 전쟁에서 정공법을 통해 정정당당하게 싸우기를 원했다. 진여의 참모 이좌거가 진여에게 자신에게 별동대를 줄 것을 간했다.
한신은 본거지에서 멀리 떨어져 있는데다가 전투를 거친 상황이니, 조나라 본군은 방어를 하고 자신이 별동대를 이끌어서 한신의 군량 공급을 막고 공격하면 손쉽게 승리할 수 있으리라는 계산이었다. 하지만 진여는 이좌거의 계책을 무시했다. 한신의 군대는 몹시 적었고, 진여는 한신을 쳐부술 자신이 있었기 때문이었다.
한신의 군대는 정형에서 조나라 군대와 맞붙었다. 조나라 군대는 한신의 군대보다 5-6배는 많았던 것으로 추정된다. 또한 한신의 군대는 질이 아주 형편없는 군대였다. 오랜 세월 단련된 군대 중에서 하북 평정을 위해 고급 군을 따로 뽑은 것이 아니라, 훈련이 덜 된 군사를 긁어모아서 간신히 머릿수만 채운 상황이었다. 이윽고 전투가 벌어지자 한신의 군대는 점점 물러섰다.
조나라 군대는 한신의 군대가 도망치자 방심하게 되었다. 애당초 조나라 군대가 훨씬 많았고, 한신의 군대는 동네 시정 잡배를 모은 것에 불과해 너무나도 약해 보였다. 그래서 조나라 군대는 모두 진영을 나와서 진격해 한신의 군대를 쳐부수기 위해 진격했다. 하지만 의외로 한신의 군대는 무너지지 않았다. 한신이 강을 뒤로 하는 진을 쳤기 때문이다.
바로 <배수진>이었다. 배수진은 뒤에 강을 두고 싸우는 전법으로, 패할 경우 도망칠 곳이 마땅치 않아 위험한 전법이었다. 하지만 뒤에 강이 있기 떄문에 도망칠 곳이 없어진 한신의 군사들은 죽기살기로 싸웠다. 한신은 위험성이 있는 전략을 적절하게 구사해서 조나라 군을 막았다.
이렇게 되자 조나라 군대는 한신의 군대를 깰 수 없게 되어 당황했다. 이들은 돌아가서 자신의 군영으로 돌아가려고 했다. 그런데 조나라 군영에는 한신의 깃발이 걸려 있었다. 처음부터 한신은 배수진을 치고 적을 막는 동안, 별동대를 파견해서 조나라 군영을 점령할 생각이었다.
아무것도 모른 성안군 진여는 한신의 군대를 얕잡아보고 쳐들어갔다가 자신의 군영만 빼앗긴 셈이었다. 조나라 군대는 당황해서 어쩔 줄 몰랐다. 앞 뒤로 한신의 군대에 포위당한 꼴이 되자 조나라 군대는 장수들의 명령도 듣지 않고 도망쳤다. 장수들은 도망치는 조나라 군사들의 목을 베면서 이탈을 막으려고 했지만 결국 조나라 군대가 흩어지는 것을 막지 못했다. 한신은 이때를 노려서 조나라 군대를 쳐부쉈고, 진여와 조헐은 도망치다가 패사하고 말았다. 한신이 조나라 군대를 꺾었다는 소식이 알려지자 그의 명성이 천하에 울려 퍼졌다.
한신은 진여의 참모였던 이좌거를 찾아갔다. 이좌거는 자신이 진여를 제대로 보좌하지 못해 패했다며 처음에는 한신에게 답하려 하지 않았다. 하지만 한신이 예를 갖춰 계속해서 묻자, 그는 한신을 위한 계책을 하나 내주었다.
한신의 군대가 조나라를 크게 꺾은 것은 모든 나라에 알려져 있다. 하지만 실제로는 한신의 군대는 근거지에서 멀리 떨어져 있다. 만약 한신의 군대가 연나라까지 먼 길을 떠났음에도 연나라를 격파하지 못하면 다른 나라들은 한신의 위엄을 미심쩍어할 것이다. 그러니 지금 다른 나라들이 한신을 두려워할 때, 연나라를 항복시켜야 한다는 것이었다.
한신은 그 계책을 옳다고 생각해서 연나라에 쳐들어가는 대신 연나라에 항복 사절을 보냈고, 연나라 왕 장도는 한신에게 항복했다. 이렇게 한신은 대나라, 조나라, 연나라 세 나라를 평정하고 황하 북쪽 지역을 점령했다. 항우와 유방이 싸우는 사이에 한신은 다른 제후들을 쓰러뜨리는 공을 세웠다.