475년 한성이 함락되자 백제는 급히 금강 가의 웅진으로 도읍을 옮겼다. 한동안 귀족들 사이 다툼으로 혼란했지만, 무령왕(재위 501~523)은 지방 요지인 22담로에 왕족을 보내 다스리며 나라를 안정시켰다.
1971년 공주 송산리 고분군에서 무령왕릉이 우연히 발견되었다. 무덤 주인을 알려 주는 지석(묘지석)이 나와 주인이 확인된 드문 삼국 시대 왕릉이다. 중국 남조 양나라 양식을 따른 벽돌무덤이고, 4,600여 점의 유물이 나와 백제가 중국·왜와 활발히 교류했음을 보여 준다.
538년 성왕은 넓은 평야와 금강 물길을 갖춘 사비로 도읍을 옮기고 나라 이름을 남부여라 했다. 551년 신라와 함께 한강 유역을 되찾았지만 곧 신라에 빼앗겼고, 554년 관산성 전투에서 성왕이 전사하면서 백제와 신라는 원수가 되었다.