유방은 진나라와 다른 나라를 잇는 관문을 막았다. 누군가가 길목을 막고 왕 노릇 하라고 조언한 것을 맹목적으로 받아들였기 때문이었다. 그러나 40만에 달하는 항우의 군대가 진나라 땅에 진입하자 관문의 방어는 무너졌다.
항우는 영포를 시켜서 관문을 공격하게 했다. 영포는 군사적 능력이 출중한 자로, 얼굴에 먹칠을 하는 경형을 받아서 경형을 받아 경포라고도 불렸다. 관문은 붕괴했고 모든 제후군을 아우른 항우의 군대는 관중에 들어섰다.
당시 유방의 군대는 10만 밖에 되지 않아, 대치하면 항우에게 압살당할 상황이었다. 게다가 상대는 전쟁의 달인인 항우였다. 동일한 군대로 싸워도 이길 가망이 없었는데 숫자까지 불리했다.
유방은 지형을 잘 활용해서 다른 자들을 막아 관중의 왕 노릇을 하려 했다. 하지만 압도적인 군대에 관문이 뚫리고 말았다. 유방으로서는 어리석은 실책을 범한 것이다. 유방의 장수 중 한 명이 유방이 자영을 데리고 진나라의 왕 노릇을 하려 한다며 항우에게 정보를 흘렸다.
항우의 모사인 범증은 유방이 절제하는 모습을 보아하니 큰 세력을 이룰 야심을 품은 것 같다며 이 기회에 공격해 죽여야 한다고 말했다. 모든 상황이 유방에게 불리하게 변해갔고 유방은 죽음을 맞이할 위기에 빠졌다.
이때, 항우군 내에서 한 장수가 빠져나와서 유방의 책사인 장량을 만났다. 장량은 한나라의 왕족 출신으로, 진시황을 암살하려는 시도를 했다가 실패하여 은둔한 사람이었다. 미청년으로 여성처럼 아름다운 용모를 지녔고 매우 지모가 뛰어났다. 유방이 서진하는 동안 유방은 장량의 도움을 받아서 한나라의 옛 땅을 점령한 적이 있었다.
이 장량은 과거 항백이라는 사람과 친교를 다진 적이 있는데, 그 항백은 항우의 숙부였다. 항백은 항우가 유방군을 몰살시키면 장량도 죽을 테니, 장량이라도 살리기 위해 사실을 알리려고 장량을 방문한 것이었다. 항백으로부터 자초지종을 들은 장량은 바로 자신의 주군인 유방에게 향했다.
유방은 아차 싶은 마음이 들어서 항우에게 변명하기 위해 장량과 함께 항우를 방문했다. 유방은 장량과 번쾌, 백여 명의 기병 등을 데리고 항우를 찾아갔다. 이를 홍문연鴻門宴이라고 한다. 번쾌는 밖에서 대기했고, 연회장 안에는 장량과 유방만이 들어갔다.
유방은 도적을 막기 위해서 관을 막은 것이라고 변명했다. 항우는 당신의 장수가 나에게 정보를 알려 주어서 이런 일이 생겼다고 답했다.
그러나 이런 변명과 상관없이 이미 범증은 사람을 시켜 칼춤을 추면서 유방을 죽일 생각이었다. 유방이 항우에게 사죄를 구하고 연회의 흥이 돋구어진 사이, 항우군의 장수가 일어나서 칼춤을 추었다. 칼춤을 추는 척 하면서 유방에게 접근하면 유방을 죽여버릴 작정이었다.
그러자 항우군의 항백 역시 칼춤을 추면서 유방의 근처에 장수가 오지 못하도록 막았다. 까딱하면 유방이 죽을 순간이었다. 아슬아슬한 순간에 바깥에 대기하던 번쾌가 안으로 들어왔다. 항우는 번쾌에게 술과 돼지고기를 주었다. 번쾌는 왜 소인의 말을 듣고 유방을 의심하냐고 따졌고, 항우는 아무 말도 하지 못했다.
유방은 화장실에 가는 척하면서 바깥으로 나와서 자신의 진영으로 돌아왔다. 유방을 암살하려는 범증의 계획은 보기 좋게 실패했고, 항우는 자신의 라이벌을 죽일 천하의 기회를 놓치고 말았다. 유방은 진영에 돌아오자마자 자신의 정보를 항우에게 흘린 장수를 죽였다.