고구려가 망한 뒤 당은 고구려 유민 일부를 랴오시(요서) 지방으로 옮겨 살게 했다. 7세기 말 이 지역이 혼란에 빠진 틈에 대조영은 고구려 유민과 말갈 사람들을 이끌고 동쪽으로 이동해, 698년 동모산(지금의 중국 지린성 둔화 일대)에서 나라를 세웠다. 처음 이름은 진(震)이었고, 713년부터 발해라 불렸다.
발해 왕은 일본에 보낸 외교 문서에서 스스로를 고려(고구려) 국왕이라 칭하는 등 고구려를 이었다는 의식을 드러냈다. 무왕 때는 바다 건너 당의 등주를 공격할 만큼 강했고, 문왕 때는 당과 친선 관계를 맺고 수도를 상경으로 옮겨 제도를 정비했다. 9세기 선왕 때 영토가 가장 넓어져 연해주와 만주 대부분, 한반도 북부에 이르렀다.
남쪽의 신라와 북쪽의 발해가 함께 있던 이 시기를 남북국 시대라 부른다. 이 말은 조선 후기 유득공의 『발해고』에서 비롯되었다. 발해는 926년 거란의 침입으로 멸망했고, 많은 유민이 고려로 넘어왔다. 한편 중국 학계 일부는 발해를 당나라의 지방 정권으로 보아, 한국 학계와 견해가 엇갈린다.