百済の起源は謎に包まれており、中国の同時代史料で実在が明らかになるのは4世紀の近肖古王からである。その頃の百済の都は現在のソウルの漢江南岸にあり、漢城と呼ばれた。漢城時代の百済は拡大を続ける北方の巨人・高句麗との死闘を繰り返した。近肖古王は371年に楽浪郡の故地である平壌を攻めて高句麗の故国原王を戦死させたこともあるが、その後は高句麗の広開土王や長寿王のために押され気味となり、高句麗に対抗するために倭国と結ぶようになった。この間の事情は広開土王碑文に記されている。高句麗の長寿王は平壌に遷都し、華北の北魏との関係が安定するとますます百済に対する圧力を加えた。これに対して百済は、この頃に高句麗の支配から逃れた新羅と同盟を結び、北魏にも高句麗攻撃を要請したが、475年にはかえって首都・漢城を落とされ、蓋鹵王が戦死した。
王都漢城を失った475年当時、新羅に滞在していて難を逃れた文周王は都を熊津(現・忠清南道公州市)に遷したが、百済は漢城失陥の衝撃からなかなか回復できなかった。東城王の時代になって中国・南朝や倭国との外交関係を強化するとともに、国内では王権の伸張を図り南方へ領土を拡大して、武寧王の時代にかけて一応の回復を見せた。しかし6世紀に入ると、新羅が大きく国力を伸張させ、高句麗南部へ領土を拡大させた。このような中で百済の聖王は538年都を熊津から泗?(現・忠清南道扶余郡)へ南遷した。これは百済の領土が南方(全羅道方面)に拡大したためでもあると考えられる。
ただ過去の百済の記録を多く採用している『日本書紀』の雄略紀によれば、高句麗に漢城を攻め落とされた時に百済は一度滅び(475年)、その後(477年)に雄略天皇が百済王に熊津の地を賜って国を再興させたとある。
聖王によって泗?に都が移されると同時に、国号は南扶余としたが、その国号が国際的に定着することはなかった。この頃、かつての百済の都であった漢江流域も新羅の支配下に入り、高句麗からの脅威はなくなったものの、これまで同盟関係にあった新羅との対立関係が生じた。聖王は倭国との同盟を強固にすべく諸博士や仏像・経典などを送ったが、554年には新羅との戦いで戦死する。ここにおいて朝鮮半島の歴史は高句麗と百済の対立から百済と新羅の対立へ大きく旋回した。百済は次第に高句麗との同盟に傾き、共同して新羅を攻撃するようになった。新羅の女王はしきりに唐へ使節を送って救援を求めた。東アジアの歴史は「高句麗-百済-倭国」と「唐-新羅」のブロックが対立する構図へと傾斜していく。
660年、唐の蘇定方将軍の軍が山東から海を渡って百済に上陸し、百済王都を占領した。義慈王は熊津に逃れたが間もなく降伏して百済は滅亡した。
唐は百済の領域に都督府を設置して直接支配を図るが、唐軍の主力が帰国すると鬼室福信や黒歯常之などの百済遺臣の反乱を抑え切れなかった。また百済滅亡を知った倭国でも、百済復興を全面的に支援することを決定し、倭国に人質として滞在していた百済王子である扶余豊璋を急遽帰国させるとともに阿倍比羅夫らからなる救援軍を派遣し、斉明天皇は筑紫国朝倉宮に遷った。帰国した豊璋は百済王に推戴されたが、実権を握る鬼室福信と対立し、遂にこれを殺害するなどの内紛が起きた。やがて唐本国から劉仁軌の率いる唐の増援軍が到着し、663年倭国の水軍と白村江(白馬江)で決戦に及んだ(白村江の戦い)。
これに大敗した倭国は、各地を転戦する軍を集結させ、亡命を希望する多くの百済貴族を伴って帰国させた。豊璋は密かに高句麗に逃れたが、高句麗もまた668年に唐の軍門に降ることになる。唐は平壌に安東都護府を設置して朝鮮半島支配を目指し、これに反発した新羅は百済・高句麗を名目的に復興させて反唐戦争に動員し、倭国とも友好関係を結んだ。