본래 부여의 옛 성이었는데 고구려에서 그대로 부여성이라 하였다.
보장왕 때 당태종의 침입을 안시성(安市城)에서 막기는 하였으나 백암성(白巖城)ㆍ비사성(卑沙城)ㆍ신성(新城) 등 10여 개의 성을 당에게 빼앗겨 요하(遼河) 유역의 군사적 요충지를 모두 잃었다. 따라서 당나라와의 국경은 요동반도의 산맥으로 이루어져 이 지역에 있었던 부여성은 국경수비의 최대요충지였다.
668년(보장왕 27) 2월당나라의 장수 설인귀(薛仁貴)ㆍ이세적(李世勣) 등이 아군과 싸워 부여성을 함락하였다. 남건(男建)이 5만의 군사를 보내어 부여성을 구하려 하였으나 설하수(薛賀水)와의 싸움에 패하여 뜻을 이루지 못하였다. 부여성의 함락으로 부여천(扶餘川) 주변의 40여성이 모두 항복하였다.
부여성을 잃은 지 7개월 만에 평양성이 함락되어 고구려 왕조는 끝을 맺었다. 그 뒤 부여성은 당이 고구려를 다스리기 위하여 설치하였던 요동주(遼東州) 관할로 편입되었을 것으로 추측된다. 이는 고구려의 옛 땅을 보장왕에게 맡기어 요동주도독을 삼았기 때문이다.