475년 고구려 장수왕은 백제수도 한성을 함락하였다. 백제 개로왕이 죽고 문주왕은 남쪽으로 밀려나 웅진으로 천도하였다. 476년 문주왕은 대두산성을 수리하고 한강 이북의 백성들을 이주시키는데, 큰 공로가 있는 해구를 병관좌평으로 삼는다. 권력욕에 사로잡힌 해구는 문주왕이 이듬해 4월 자신의 동생인 곤지를 내신좌평으로 삼자, 이에 불만을 품고 7월에 곤지를 살해한다. 그해 9월 해구는 자객을 시켜 문주왕을 시해하고, 나이가 13세인 문주왕의 아들인 삼근을 허수아비 왕위에 올린다.
478년 해구가 모든 권력을 잡자 권력의 뒤편에 있던 진씨들이 나섰다. 해구가 연신과 대두성을 근거로 반란을 일으켰다. 이때 금강 일대에 자리 잡고 있었던 귀족 연씨가 등장한다. 권력을 잡고 있었던 해구가 반란을 일으킨 이유는 477년 문주왕이 시해되고 해구가 일시적으로 권력을 잡았지만 곧바로 곤지 아들인 동성왕과 진씨들에 의해 밀려났던 것으로 보인다. 해구의 반란을 제압한 진씨들과 동성왕이 삼근왕을 죽였는지 여부는 자세하지 않지만, 어째든 동성왕이 479년 왕위에 오른다. 백제에서 동성왕이 왕위에 오른 그때, 신라에서도 자비마립간의 맏아들인 소지마립간이 왕위에 올랐다.
그동안 백제와 신라의 정세를 관망하던 장수왕은 백제와 신라에서 정권교체가 이루어지자 신라 새 정권의 의도를 가늠하기 위해 예족들을 시켜 변경을 공략하였다. 이에 소지마립간은 삼국사기 기록에는 자세하지 않지만, 백제와 가야에 사신을 보내 고구려와의 전쟁에 협조를 구하였던 것이 아닌가 싶다. 481년 2월에 소지마립간은 고구려와의 접경지인 비열성에 거동하여 군사상황을 점검한다. 고구려는 3월에 신라 북쪽을 대대적으로 공격하여 호명성 등 일곱성을 취하고, 미질부(彌秩夫)까지 진군하였다.
고구려가 신라의 미질부 지역까지 진군하였다고 했는데, 여기서 말하는 미질부는 지금의 안동으로 추정된다. 왜냐하면 소지마립간은 고구려와의 전쟁이 끝난 후 일선군(一善郡) 지역에 거동하여 재해를 만난 백성들을 위문하고 곡식을 차등 있게 나누어 주었다고 한다. 일선군이란 낙동강 상류의 군위, 의성 지역을 말한다. 고구려군이 안동까지 이르자 소지마립간은 백제와 가야의 구원병과 함께 여러 길로 나누어서 고구려군을 막았다. 결국 고구려군은 삼국연합군에 밀려서 죽령을 넘어 제천지역까지 후퇴 하였다. 백제와 신라연합군은 484년 고구려가 모산성을 공격했을 때, 다시 한 번 빛을 발한다. 이때까지 신라와 백제의 동맹은 군사적인 측면이 강하였다.
고구려의 공격을 나제동맹군이 격파하자, 여유를 찾은 동성왕은 486년 백가를 위사좌평에 임명하고 사신을 남제에 보내는 등 내치안정을 기하였다. 그런데 490년 동성왕은 이상한 인사를 단행한다. 연돌을 달솔로 삼은 것이다. 연씨는 해구의 반란 때 가담한 연신이 고구려로 도망가자, 그 처자들을 참수한바 있다. 조정의 권력은 진씨들에 의해 좌지우지 되는 상황에서 반란사건과 연관이 있었던 연씨를 동성왕은 왜 조정에 등용시킨 것일까? 그 이유를 추정하면, 연돌을 조정에 등용시키기에 앞서 동성왕은 사비 벌판으로 사냥하였다고 한다.
동성왕이 사비로 사냥을 나갔다는 이야기는, 결국 연돌을 만나기 위함이었다고 볼 수 있다. 동성왕과 연돌의 만남 자리에서 사비천도까지는 몰라도 모종의 정치적 야합이 있었음이 분명하다. 이듬해인 491년 고구려 장수왕이 붕어하면서 삼국은 새로운 국면을 맞이한다. 이러한 상황에서 493년 동성왕은 소지마립간에게 결혼동맹을 요청한다. 이는 군사적 동맹관계에서 한 단계 높인 전략적 동반자 관계를 말한다. 신라 소지마립간은 동성왕의 요구에 왕족으로 추정되는 비지의 딸을 보낸다. 고구려 문장명왕은 494년부터 497년까지 백제와 신라를 공격하였으나, 나제동맹군의 방어전술에 별 소득을 얻지 못했다.
그동안 백제 조정을 장악했던 진씨 가문 중에 병관좌평이었던 진로가 죽자 동성왕은 연돌을 병관좌평으로 삼아 파격적인 승차를 시킨다. 연돌이 병관좌평이 된 후 이듬해에 웅진교를 가설하고 사정성을 쌓았으며, 탐라국이 공물과 조세를 바치지 아니하자 동성왕은 친히 무진주까지 진공하였다. 고구려의 지속적인 위협 속에서도 동성왕은 무리한 공역을 많이 벌였고, 가뭄이 심하였을 때 신하들이 창고를 열어 구제할 것을 청하였으나 듣지 않았으며 임류각을 궁궐 동쪽에 세우는 등 사치와 향락에 빠졌다. 500년 11월 신라에서는 소지마립간이 붕어하고 재종동생인 지증마립간이 왕위에 오른다. 동성왕은 지증마립간이 즉위하자, 이듬해 탄현에 목책을 설치하여 신라에 대비하였다.
동성왕은 왜 신라를 대비하여야만 했을까? 그 이유는 결혼동맹의 당사자인 소지마립간이 붕어한 후 신라 내부 상황의 변화에서 찾을 수 있다. 소지마립간에 이어 왕위에 오른 지증마립간은 내치에만 중점을 두었다. 그 이유를 보면 첫째, 지증마립간의 나이가 64세였다는 것이고, 둘째 군사와 정무는 이사부에게 맡겼기 때문이다. 이사부는 나물이사금의 4대손으로 지증마립간과 같이 나물이사금 방계이다. 동성왕의 입장에서 신라의 이러한 권력 변화를 주시할 수밖에 없었을 것이다. 그러나 이듬해 동성왕도 백가에게 암살당한다.
나제동맹의 두 주축이던 동성왕과 소지마립간이 붕어한 이후 백제는 무령왕이 강력한 북진정책을 추진하여 개로왕 때 잃었던 한강이북의 영토를 탈환하였다. 다만 한강 동쪽 방면은 고구려가 장악하고 있어 이 지역에서 치열한 전투가 있었다. 신라는 이사부를 중심으로 서서히 북진을 시도하고 있었다. 514년 신라에서는 지증마립간이 붕어하고 법흥왕이 왕위에 올랐다. 앞서 백제의 무령왕은 512년 고구려가 남한강 중류 이남으로 추정되는 가불성과 원산성을 침공하자, 군사를 이끌고 친정하여 크게 격파하였다. 이 전투 이후로 고구려와 백제는 소강상태를 맞이한다.
521년 신라가 양(梁)나라에 사신을 보내 토산물을 바쳤다는 기록이 등장한다. 이때 중국으로 가는 길목인 서해까지 진출하지 못한 상황에서 독자적으로 양나라에 사신을 보낼 리는 없었을 것이다. 같은 해 백제가 양나라에 사신을 보냈는데 삼국사기 본기에 따르면 “여러 차례 고구려를 깨뜨려 비로소 우호를 통하였으며 다시 강한 나라가 되었다.”라고 하였다. 이로 보면 신라는 백제를 통해 양나라에 사신을 보냈던 것이고, 이는 나제동맹의 연장선에서 주목해야할 부분이다. 동성왕 때의 나제동맹은 신라가 우위에 있었다면, 무령왕 시기는 백제가 우위에 있었다고 보인다.
523년 무령왕이 붕어하고 아들인 명농이 왕위에 올랐다. 이가 바로 성왕이다. 삼국사기에 의하면 무령왕의 뒤를 이어서 왕이 된 성왕은 단순히 무령왕의 아들이라고 수록 하였지 맏아들이라고는 하고 있지 않다. 이와 관련해 일본서기에 “513년 8월 백제태자 순타(淳陀)가 죽었다.”라는 기록이 있다. 그러므로 무령왕에게는 맏아들인 순타가 있었는데, 513년에 죽고 그 뒤에 무령왕의 뒤를 이어 그의 제2자인 명농이 성왕으로 계위를 하였는지도 모른다.
성왕은 양나라로부터 지절 도독백제제군사 수동장군에 책봉되었다. 524년에 신라는 남쪽 금관국 왕과 귀속문제를 논의 하였고, 이듬해 대아찬 이등을 사벌주 군주로 삼는다. 사벌주는 백제 왕성과 가장 근접한 지역이므로, 신라는 사벌군주 임명에 대한 상황 설명을 위해 백제에 사신을 보낸 것으로 보인다. 그동안 수세에 몰렸던 고구려는 529년 안장왕이 친정하여 백제 북쪽지역에 대해 대규모 공세를 취한다. 이에 성왕은 좌평 연모에게 명령하여 3만 명을 거느리고 오곡(五谷)의 벌판에서 막아 싸웠으나 크게 패하였다. 오곡전투의 패전으로 그동안 승승장구 하던 백제의 기세가 한풀 꺾이고 말았다.
532년 신라에서는 금관국의 왕이 왕족들을 데리고 신라에 항복하였다. 금관국의 귀속으로 신라는 군사적, 정치적으로 크게 성정하는 계기가 되었다. 이에 법흥왕은 536년 처음으로 연호(年號)를 칭하여 건원(建元) 원년이라 하였다. 성왕은 오곡전투 이후 양나라와의 외교관계 말고는 별다른 모습을 보이지 않다가, 538년 갑자기 왕도를 사비(泗沘)로 옮기고 국호를 남부여라 하였다. 성왕의 사비천도가 모종의 정치적 행위이던지 아니면 침체된 나라의 분위기를 새신하려는 목적이던 간에 연씨 귀족들과 불가분의 관계가 있는 것은 분명하다.
신라에서는 540년 법흥왕이 붕어하고 나이 7세인 진흥왕이 왕위에 올랐다. 이때 성왕은 장군 연회에게 명령하여 고구려의 우산성(牛山城)을 공격하게 하였으나 이기지 못하였다. 이듬해인 541년 신라본기에 따르면 백제에서 사신을 보내와 화친을 청하였으므로 허락하였다고 한다. 기본적으로 나제동맹이 깨진 상황이 아닌데, 백제가 화친을 청하였다는 것은 말이 안된다. 화친이 아니라 진흥왕의 등극을 축하하는 사절단으로 나제동맹의 정신을 재확인 한 게 아닌가 싶다.
진흥왕이 성인이 될 때까지 왕태후 박씨 보도부인이 섭정하였다. 이때 이사부는 병부령이 되었고, 중앙과 지방의 군사 일을 맡아 실질적인 권력을 가지게 되었다. 이사부는 545년 같은 나물이사금의 방계인 거칠부를 등용하였다. 548년 고구려 양원왕은 예족과 함께 백제를 공격하였다. 이때 성왕은 사신을 신라에 보내 구원을 요청하였고, 이에 신라는 장군 주진(朱珍)을 보내어 고구려군을 크게 격파하였다.
550년 나제동맹에 균열이 발생하는 사건이 터졌다. 고구려와 백제가 싸움을 벌이는 과정에서 이사부가 고구려 관할 도살성과 백제 관할 금현성을 빼앗아 군사를 주둔 시킨다. 이 사건은 신라의 돌발적인 행동이 아니라, 이사부를 비롯한 신라 조정의 생각이 아닐까 싶다. 그동안 한반도 변방에 머물러 있던 신라가 백제를 통해 중국 대륙의 양나라에 사신을 보내면서 문화적인 충격을 받았고, 지속적인 중국의 나라들과 통교를 위해서는 한강지역의 장악이 필요하다고 생각했기 때문이다.
이때 백제 성왕은 신라의 이러한 행동에 대해 아무런 조치를 취하지 못했다. 이듬해 551년 신라는 연호를 개국으로 바꾸었다고 하니, 진흥왕이 드디어 친정한 것으로 보인다. 이사부는 진흥왕의 친정을 계기로 거칠부 등 여덟 장군에게 명하여 고구려를 침공하게 하였다. 거칠부열전에 보면, 이때 백제와 함께 고구려를 공격하였다고 한다. 성왕의 입장에서 신라의 요청을 거절할 상황이 아니었던 것으로 보인다. 일본서기에 따르면 백제가 신라의 직접적인 요청으로 전투에 참여했는지 여부는 자세하지 않으나, 이 전투에 성왕의 아들인 여창이 참전한 것으로 수록되어있다. 어째든 신라는 고구려를 공략하여 죽령 바깥, 고현 이내의 10군을 취하였다.
553년 신라는 한강 중류지역으로 추정되는 백제 땅을 빼앗아 신주(新州)를 설치하고 무력을 군주로 삼았다. 무력은 금관국의 왕자이다. 이렇게 되자 성왕은 어쩔 수 없이 신라에 사신을 보내 굴욕적인 결혼동맹을 추진한다. 동성왕 때의 나제동맹은 신라가 우위에 있었다면, 무령왕 시기는 백제가 우위에 있었고, 성왕 때는 다시 신라 우위에 서게 된 것이다. 신라는 성왕의 딸을 맞아들여 소비(小妃)로 삼는다. 그러나 성왕이 아무런 대책도 없이 자신의 딸을 적국에 보내지는 않았을 것이다. 성왕은 딸을 신라에 보내 진흥왕과 조정을 안심시키는 동시에 아들인 여창과 함께 신라 공격을 음밀히 추진하였다. 이때 여창은 대가야로 가서 신라공격에 협조를 구하였던 것으로 보인다.
삼국사기에 554년 7월에 성왕은 가량(加良)과 함께 군사 3만여명을 이끌고 신라 관산성을 공격하였다고 했는데, 여기서 가량이란 대가야를 말한다. 성왕은 관산성 인근에 주둔하였고, 관산성 전투는 아들인 여창이 지휘하였다. 삼국사기 신라와 백제본기의 내용이 서로 차이점이 있는데, 일본서기를 인용하여 재구성해본다. 여창의 선제공격에 신라가 밀리자, 자신감을 가진 성왕이 잔여군을 이끌고 우회로를 따라 여창군에 합류 하게 되었다. 이때 성왕이 오는 길목에 삼년산군의 군사가 주둔하고 있다가 급히 공격하여 성왕이 죽임을 당하였다. 신주 군주인 무력이 인근의 군사를 이끌고 여창의 군사들과 접전을 벌여 대다수의 백제군이 죽임을 당하였다.
동성왕 때 맺은 나제동맹의 결말은 성왕의 죽음과 함께 끝이 났다. 나제동맹의 시작과 끝은 모두가 백제가 좌초하였다. 신라는 나제동맹을 통해 꾸준히 국력을 키웠던 반면 백제는 이를 나라의 성장 동력으로 이끌지 못하였다.