속담에 "먼저 손 쓰는 자가 유리하고, 나중에 움직이는 자는 화를 입는다"고 했다. 군사상 '선발제인(先發制人)'은 중요한 명제이다. 이미 『좌전』에는 "선수를 치면 적의 의지를 꺾을 수 있다"는 말이 있으며, 후세에도 "병사는 먼저 행동하는 것이 귀하다", "내가 먼저 적을 공격할지언정, 적에게 먼저 공격당하지 말라"는 주장들이 많았는데, 모두 작전에서 선제권을 잡으려는 뜻이다. 그러나 모든 일이 절대적인 것은 아니다. 특정한 조건 하에서는 '후발제인(後發制人)'도 군사적 투쟁의 중요한 수단이며, '선발제인'과 변증법적인 통일을 이룬다. 그 본질은 적극적 방어, 즉 방어를 수단으로 삼고 반격을 목적으로 하는 공세적 방어인데, 약세에 있는 일방이 적을 제압하여 승리하는 중요한 비결이 되곤 한다. 춘추시대 진나라와 초나라 사이의 성포 전투는 이러한 역사적 사례 중 대표적인 전투였다.
성포 전투는 노희공 28년(기원전 632년)에 발생하였으며, 춘추 시대 진·초 양국이 중원 패권을 다투기 위해 벌인 첫 번째 전략적 결전이었다. 이 전투에서 초군은 실력 면에서 우세했지만, 진군이 교묘하게 '모략을 쳐서'(伐谋) 외교를 잘 활용했으며, 전역 지휘에서도 장점을 살리고 단점을 피하며 후발제인의 올바른 방침을 취함으로써 결국 일찌감치 무적이었던 초군을 격파하여 위세를 세우고 패권을 확립한 뒤 중원을 지배하게 되었다.
춘추 시대에 강대국들이 패권을 다투던 가운데 가장 먼저 부상한 나라는 동쪽의 제나라였다. 제환공이 죽은 후 제나라 내부는 계속 혼란에 빠졌고, 패업은 쇠퇴하였다. 이때 한강 중류 지역에 위치한 초나라는 기회를 틈타 황하 유역까지 세력을 확장하였고, 홍수 전투에서 송양공의 패권 도전을 저지하면서 장강·회하·황하·한수 사이 지역을 자신의 영향권 아래 두었으며, 정·채·위·송·노 등 많은 중소 국가들을 장악하였다. 초나라 세력이 급속히 북진하는 가운데 당시 산서, 하남 북부, 하북 서남 일대에 있던 진나라도 부흥하기 시작했다. 기원전 636년, 오랫동안 유랑 생활을 해온 진나라 공자 중이(重耳)는 온갖 고난을 겪은 끝에 마침내 고향에 돌아와 즉위하여 진문공이 되었다. 그는 집권 후 국내에서는 정치를 밝게 하고, 현자를 등용하며, 경제를 발전시키고, 검약을 장려하며, 군사와 무예를 다듬었다. 외교적으로는 '왕을 존중한다'는 깃발을 높이 들며 동맹국을 확보해 나갔고, 점차 중원 패권을 다툴 수 있는 강력한 실력을 갖추게 되었다.
진나라의 성장과 부상은 초나라에 심각한 불안을 안겨주었다. 양국 간의 모순은 점점 예민해졌고, 송나라에 대한 통제권을 둘러싼 갈등은 마침내 충돌의 전면적 격화로 이어졌다.
기원전 634년, 노나라는 조·위 나라와 동맹을 맺은 것을 계기로 여러 차례 제나라의 공격을 받게 되었고, 초나라에 원조를 요청하였다. 한편 홍수 전투 이후 초나라에 굴복했던 송나라는 진문공 즉위 후 진나라의 국력이 날로 강해지는 것을 보고 다시 진나라에 의지하게 되었다. 초나라는 자신들의 중원에서의 우위를 유지하기 위해 제·송을 공격하여 진나라 세력의 동진과 남하를 억제하려 하였다. 진나라도 오랫동안 황하 이북 지역에만 머물러 있기보다는, 이 기회를 이용해 송나라를 구한다는 명분으로 중원에 병력을 파견하였다.
기원전 633년 겨울, 초성왕은 초·정·진·채 연합군을 거느리고 송나라를 공격하여 수도 상구를 포위하였다. 송성공은 급박한 상황 속에서 대사마 공손고를 진나라에 보내 원군을 요청하였다. 진나라의 대신 선진은 이것이 바로 "은혜를 갚고 위험을 구제하며, 위세를 세우고 패권을 확립할 절호의 기회"라 판단하고, 진문공이 군사를 파견할 것을 강력히 주장하였다. 그러나 당시 진나라와 송나라 사이에는 조·위 두 나라가 있었고, 먼 길을 가는 원정은 측면과 후방이 적에게 노출될 위험이 있었다. 또한 초군의 실력이 강대하여 정면 승부에서도 필승의 확신이 없었다. 진문공이 이런 문제로 고민하고 있을 때, 호엄이 진문공에게 제안하였다: 먼저 조·위 두 나라를 공격하여 초군이 북상하도록 유도하면 송나라를 구제할 수 있다는 것이었다. 이 제안은 진문공의 출병 결심을 더욱 굳혔다. 전략 방침이 결정되자 진나라 군신들은 곧바로 전쟁 준비에 들어가, 기존의 두 개 군대를 상·중·하 세 개 군대로 확대 편성하였으며, 비교적 우수한 귀족 관료들을 각 군의 장수로 임명하였다. 준비가 완료된 후 진문공은 기원전 632년 1월 군대를 거느리고 황하를 건너 위나라를 공격하여 순식간에 위나라 전역을 장악하였다. 이어 진군은 조나라에 공격을 개시하였고, 3월에 조나라 수도 도구(현재 산둥성 정도현)를 함락시키고 국군 조공공을 포로로 잡았다.
진군이 조·위 두 나라를 공격한 목적은 초군을 북상하게 유인하려는 것이었지만, 초군은 전혀 흔들리지 않고 여전히 송나라 수도 상구를 집중 포위하고 있었다. 이에 송나라는 다시 문윤반을 보내 진나라에 급히 구원을 요청하였다. 이로 인해 진문공은 진퇴양난에 빠졌다. 만약 군사를 파견하지 않으면 송나라의 힘이 버티지 못해 반드시 초나라에 항복하고 진나라와 단절할 것이며, 이는 자신이 중원에서 패권을 잡으려는 계획에 큰 손실을 줄 것이다. 그러나 군사를 파견하여 지원한다면 원래 계획했던 조·위 지역에서 초군과 결전하려는 전략 의도는 실패하게 될 것이며, 또한 병력이 제한되어 있고, 고향에서 멀리 떨어진 곳에서 초군과 맞서 싸운다면 승리하기 어렵다는 걱정도 있었다. 이에 진문공은 다시 신하들을 소집해 논의하였다. 선진은 형세를 자세히 분석한 후, 송나라가 겉으로는 진나라와 관계를 멀리하는 척하고, 송나라가 직접 재물을 넉넉히 주어 제·진 두 나라에 보내, 이들 나라가 초군의 철수를 요청하도록 하자고 제안하였다. 동시에 진나라는 조·위 일부 땅을 송나라에 주어 송나라가 초나라에 맞서는 결심을 굳게 하자는 것이었다. 초나라는 원래 조·위와 동맹관계였기에, 조·위의 땅이 송나라에게 넘어가는 것을 보고 반드시 제·진의 중재를 거부할 것이다. 제·진은 송나라로부터 후한 선물을 받은 상태에서, 초나라가 중재를 받아들이지 않는 것을 보고 분노하여 진나라 편에 서서 군사를 파견해 초나라와 싸울 것이다. 진문공은 이 계책을 매우 칭찬하며 즉시 실행에 옮겼다. 과연 초성왕은 제·진의 중재를 거부하였고, 제·진은 초나라가 자신들에게 체면을 깎아내렸다고 여기며 크게 분노하여 진나라를 도와 군사를 파견하였다. 제·진 모두 당시의 강대국이었기에 중립을 포기한 것은 진·초 양측의 전력 균형에 중대한 변화를 가져왔다.
초성왕은 진·제·진 삼국이 동맹을 맺고 형세가 분명히 자신에게 불리하다는 것을 보고, 스스로 군대를 초나라 신지(현재 허난성 난양)로 철수시켰으며, 곡읍(谷邑)을 지키는 대부 신숙에게도 즉시 제나라에서 철수하라고 명령하였고, 명령관 자옥에게도 초군 주력이 송나라에서 철수하여 진군과 충돌을 피하라고 요구하였다. 그는 자옥에게 진문공은 보통 인물이 아니니 경시해서는 안 되며, 모든 일을 힘에 맞게 하고 적당한 선에서 멈추며, 어려움을 알면 물러서야 한다고 경고하였다. 그러나 자옥은 오만하고 자만하여 초성왕의 충고를 전혀 듣지 않았으며, 오히려 진군과 결전을 고집하며 자신의 지휘 능력이 없다는 소문을 없애겠다고 주장하고, 초성왕에게 병력을 증파해줄 것을 요청하였다. 초성왕은 결단력이 부족하여 자옥의 결전 요청을 수락해 운 좋게 승리하기를 바랐지만, 충분한 병력을 증원해주지는 않았고, 서광·동궁 및 약오육졸 등 소수의 병력만을 보내 증원하였다.
자옥은 초성왕으로부터 파견받은 소량의 증원군을 받은 후, 진군과 싸울 결심이 더욱 굳어졌다. 결전의 구실을 찾기 위해 그는 사신 완춘을 보내 진군에게 일부러 '휴전' 조건을 제시하였다: 진군은 조·위에서 철수하여 조·위를 복국시키고, 초군도 송나라 수도의 포위를 해제하고 송나라에서 철수하겠다는 것이었다. 자옥의 이 제안은 사실 진나라가 중원 패권을 다투고 제후를 통솔하려는 노력을 포기하게 만들려는 악의적인 계략이었다. 그러나 진문공은 한 수 위였다. 선진의 더 뛰어난 대책을 채택하여, 조·위가 초나라와 단교한다는 조건 하에 비밀리에 조·위의 복국을 약속하였다. 또한 초나라 사신 완춘을 붙잡아 자옥을 격노시켜 전투를 벌이도록 유도하였다. 자옥은 사신이 붙잡힌 것을 보고, 조·위가 자신을 배반하고 진나라에 붙었다는 것을 알고 과연 분노하여 초·진·채 연합군의 병력 우세를 믿고 사납게 진군을 향해 돌진하며 전략적 결전을 추구하였다. 진문공은 초군이 조나라 수도 도구에 접근하는 것을 보고, 초군의 예봉을 피하고 유리한 결전 시기를 선택하며, 적을 유인하여 심층으로 들어오게 한 후 후발제인으로 승리하기 위해 군대에 명령하여 주동적으로 '삼사퇴피(退避三舍)'하여 예정된 전장인 성포(현재 허난성 포성) 일대로 철수하였다.
진군의 '삼사퇴피'는 사실 진문공의 계략으로 승리를 거두는 중요한 묘수였다. 정치적으로는 주도권을 잡았다—"임금이 물러나고 신하는 공격하니 잘못은 저들에게 있다"—여론의 동정심을 얻었다. 군사적으로는 유리한 상황을 조성했다—제·진 등의 동맹국 군대와 합류하여 병력을 집중할 수 있었으며, 진군 장병들의 사기를 북돋웠고, 먼저 전장을 점령하여 체력을 아끼며 적을 기다리는 등 유리한 조건을 마련하였다. 이는 진군이 후발제인으로 승리하기 위한 튼튼한 기반을 마련한 것이다. 진군의 주동적 후퇴에 대해 초군 내부에서도 많은 사람들이 수상쩍게 여겨 신중히 기다리며 추격을 멈추자고 주장하였다. 그러나 독단적인 자옥은 오히려 진군을 섬멸하고 조·위를 탈환할 절호의 기회라 생각하고, 군대를 몰아 성포까지 추격해왔다.
진군은 성포에 진을 치고, 제·진·송 등의 나라 군대가 차례로 도착하여 진군과 합류하였다. 진문공은 군대를 검열한 결과 사기가 높고 전투 준비가 충분하다고 판단하여 초군과 일전을 벌일 수 있다고 보았다. 초군 측에서도 결전 준비가 활발히 진행되고 있었는데, 자옥은 초군과 진·채 군대를 중군·좌익·우익 세 부대로 나누었다. 중군이 주력부대로 그가 직접 지휘하였고, 우익은 병력이 약한 진·채 군대로 초나라 장수 자상이 지휘하였으며, 좌익도 초군이었고 자서가 지휘하였다.
기원전 632년 4월 4일, 성포 지역 상공은 전투 구름이 가득 찼고, 진·초 양군은 여기서 전차 대전을 벌였다. 결전에서 진군은 초군 중군이 강하고 좌우익이 약한 배치와 초군 통수자 자옥이 오만하고 경망스럽며 실정을 알지 못하는 약점을 파악하고, 먼저 적의 측면을 공격한 후 중군을 공격하는 전술을 채택하여 목표를 가지고 공격을 개시하였다. 진군 하군의 부장 허신은 전차를 끄는 말의 몸에 호피를 덮어씌운 뒤, 예상치 못하게 초군 중에서 전투력이 가장 약한 우익—즉 진·채 군대를勐렬히 공격하였다. 진·채 군대는 이突如한 기묘한 공격을 당해 순간 당황하여 접촉하자마자 무너지고 말았다. 초군 우익은 이렇게 빠르게 섬멸되었다.
이어 진군은 '형세를 보여 적을 유인'하고, 적이 공격해 나오게 한 후 분할 섬멸하는 전법으로 초군 좌익을 상대하였다. 진군 상군 주장인 호모는 고의로 전차에 두 개의 큰 깃발을 세운 채 후퇴하는 척하며 퇴각하는 모습을 연출하였다. 동시에 진군 하군 주장인 란지는 진영 뒤에서 전차로 나뭇가지를 끌어 땅 위 먼지를 일으켜 마치 후속 진군이 후퇴하는 것처럼 보이게 하여 초군을 유인하여 공격하게 하였다. 자옥은 이것이 계책인지 모르고 좌익군에게 추격 명령을 내렸다. 진군 중군 주장 선진과 부장 석진은 초군이 함정에 빠져盲目하게 공격해 나오는 것을 보고 즉시 최정예 중군을 지휘하여 초군 좌익을 측면에서 공격하였다. 진군 상군 주장 호모와 부장 호염도 기회를 틈타 되돌아와 합동 공격을 개시하였다. 초군 좌익은 이 타격을 받고 후퇴로가 차단되어 완전히 포위되었으며, 곧바로 섬멸되었다. 자옥은 이제 좌우 양군이 모두 패배한 것을 보고 대세가 이미 기울었다고 판단하여 중군이 급히 전장을 탈출하도록 명령해야 했고, 그래야 중군을 간신히 보존할 수 있었다. 초군은 전투에서 패배한 후 남서쪽으로 연곡까지 철수하였고, 자옥은 곧바로 자살을 강요당하였다. 성포 전투는 진군의 결정적 승리로 막을 내렸다. (번역 누락된 부분이 있으나, 제공된 원문의 마지막 문단은 성포 전투와 관련 없는 내용입니다.)
산 위에 선 장이(張耳)는 지휘기를 흔들며 장병들에게 양측에서 공격하라고 명령하였다. 장병들은 용기가 배가되어 앞다퉈 용감하게 싸워, 일격에 무너진 조군을 완전히 무찌르고 물거품처럼 쓸어버렸다. 대장 진여(陳余)는 혼전 중 난도질을 당해 죽었다. 전투가 끝난 후, 누군가 한신에게 와서 조나라 장수 하나를 잡았다고 보고하였다.
한신이 곧장 무엇인지 물으려는 순간, 몇몇 장병들이 온몸에 피를 뒤집어쓴 사람을 밀쳐내며 데려왔다. 한신이 물어보니, 다름 아닌 조나라의 이좌거(李左車) 장군이었다! 그는 오래전부터 이 장군의 재능을 존경해왔다. 이전에 그는 명령을 내린 바 있다. 누구든 살아서 이좌거를 잡으면 천냥의 황금을 상으로 주겠다는 것이었다. 그런데 그의 부하가 실제로 살아서 잡아온 것이다. 한신은 두 팔을 활짝 펴며 크게 외쳤다. "이 장군!" 이좌거는 한신을 보고 고개를 딴 데로 돌렸다.
한신은 즉시 이좌거를 자기 진영으로 데려가 검으로 그를 묶은 밧줄을 자르고, 절을 올렸다. 이좌거는 한신이 어릴 적 다른 사람의 다리 사이를 기어간다는 소문을 떠올리며 역겨워하며 침을 뱉으며 말했다. "헛수작 부리지 마라, 베고 싶으면 베어, 마음대로 처분해라!" 한신은 따로 설명하지 않고 사람을 시켜 곧바로 연회를 준비하라고 명령하며, 이 장군을 위하여 위로연을 열겠다고 하였다. 연회에서 한신은 끊임없이 이좌거에게 술을 권하며 적을 무찌르는 계책을 묻자, 이좌거는 손을 펴며 말했다. "이제 나는 당신의 포로가 되었으니 어떻게 당신과 함께 적을 무찌르는 계책을 논의할 수 있겠습니까?" 한신은 웃으며 말했다. "말하기를 세 사람이 함께 가면 반드시 내 스승이 있다더니, 전쟁에 있어서 나는 당신보다 못합니다..." 이좌거는 놀라 물었다. "어떻게 그런 말씀을 하십니까?" 한신이 말했다. "예전에 조왕이 정말 당신의 의견을 채택했다면, 내 머리는 이미 없었을 것입니다!" 이 말에 이좌거는 얼굴이 빨개지며 연신 말했다. "한 장군께서 과찬이십니다, 과찬이십니다!" 한신의 진심 어린 태도에 이좌거는 깊이 감동하였다. 한신이 다음으로 어떻게 행동해야 할지를 여러 차례 묻자 이좌거가 말했다. "내 생각엔, 지금 당신의 군대는 장기간 전투를 벌려 이미 지쳐 있어 더 이상 싸울 수 없습니다." 한신이 반문했다. "그러면 내가 계속 연나라를 공격하려 한다면, 쉽지 않은 일이라는 말씀입니까?" 이좌거가 고개를 끄덕였다. 한신이 계속 질문하자 이좌거가 말했다. "좀 더 생각해보겠습니다." 이튿날 새벽, 이좌거가 눈을 뜨자마자 침대 앞에 한신이 서서 그의 계책을 기다리고 있는 것을 보고 재빨리 일어나 작은 소리로 말했다. "생각해보니, 당신은 군대를 해체하고 휴식을 취해야 합니다!" "군대를 해체하고 휴식을 취한다고?" "맞습니다. 병력을 연나라 국경에 주둔시키고, 연나라는 당신이 무슨 수를 쓰는지 알 수 없을 것입니다. 사실은 체력을 회복하는 것이지요. 그 후 사신 한 명을 연나라에 보내 편지를 전달하세요. 당신이 언제 그들을 공격할지를 알려주면, 연나라는 반드시 공포에 떨며 반드시 당신에게 순종할 것입니다. 그렇게 되면 옆에 있는 제나라도 당신에게 항복할 것입니다!" 한신은 듣고 기쁨을 감추지 못하며 세 차례 손뼉을 쳤다. "이 장군, 혹시 하늘의 별이 내려오신 것은 아닙니까!" 그는 진짜로 이좌거의 제안을 받아들여, 아무런 노력 없이 연나라를 정복하였다.
공적을 기리는 연회에서 장이는 한신에게 물었다. "병서에는 행군과 진을 치는 법이 마땅히 산과 물을 따라야 한다고 했는데, 장군은 오히려 물을 등지고 진을 치셨습니다. 당시 장병들의 마음속도 복종하지 않았지만, 결과적으로는 승리하였습니다. 이것이 어떤 이치인지 모르겠습니다." 한신이 답했다. "병서에도 말하기를 '죽을 땅에 몰아넣고 나서야 살아나며, 망할 땅에 두고 나서야 살아남는다'고 하였습니다. 아시다시피 우리 군대는 대부분 최근에 모집한 신병들이며, 엄격한 훈련을 받지 못했고, 전투 의지도 충분히 강하지 않습니다. 게다가 제가 이 군대를 이끄는 시간도 길지 않아 진정한 위신을 세우지도 못했습니다. 위급한 상황에서 모두가 제 지휘를 따르지 않을 것입니다. 그러므로 저는 군대를 위험한 상황에 두어 스스로 각개전투를 벌이며 생존을 도모하도록 강요한 것입니다. 만약 안전한 곳에 진을 쳤다면, 뒤에 도망칠 길이 있었을 테고, 적군이 사납게 공격해오는 것을 보자마자 모두 앞다퉈 도망갔을 것이며, 그런 상황에서 어떻게 싸울 수 있었겠습니까!" 이 말에 모두가 입을 다물고 복종하였다.
장병들이 또다시 수다스럽게 연나라가 왜 그리 쉽게 항복했는지 물었다. 한신은 미소를 지으며 이좌거를 앞으로 밀었다. "이건 여러분이 그에게 물어봐야 합니다. 그는 나의 스승님이시며, 나는 스승님의 말씀을 듣고 그렇게 한 것입니다." 이좌거는 부끄러워하며 손을 흔들며 말했다. "어디 어디, 나는 다만 여러분의 포로일 뿐, 어떻게 스승님이 될 수 있겠습니까?" 한신은 크게 말했다. "나의 스승님이시며, 모든 장수들의 스승님이십니다!" 그는 사건의 전말을 설명하자, 현장에 있던 장병들은 모두 놀라 입을 쩍 벌리고 오랫동안 말을 잇지 못하였다.