포악한 모본왕이 죽자 그의 아들이 아비의 원수를 갚으려 할까봐 유리왕의 손자인 궁을 왕으로 삼았으니 6대 임금 태조왕이다. 왕이 어려 어머니가 섭정을 했다. 동옥저를 정복했고, 갈사국(갈사 부여)으로 쳐들어가 갈사왕의 손자 도두가 항복하자 연나부의 우태 벼슬을 내렸다. 조나국을 복속시키고, 주나국을 복속시킨 후 주나국 황자를 고추가에 임명했다. 요동으로 쳐들어가 6현을 빼앗았다. 한나라의 현도군도 빼앗았다. 태조왕 69년(121) 한나라의 유주 자사 풍환, 현도 태수 요광, 요동 태수 채풍이 군사를 거느리고 고구려를 침공했을 때 아우 수성을 불러 물리치게 했다. 수성은 오히려 비어있던 현도와 요동의 성을 불바다로 만들어 버렸다. 이후 수성은 점차 세력을 확장해 왕위찬탈을 노렸다. 100살이 넘도록 죽지 않고 왕위도 물려주지 않자 불만을 한다. 결국 형을 협박해 양위를 받았다. 그가 7대 임금 차대왕이다.
간신 미유를 우보에 임명하고 충신 우보 고복장을 사형시켰다. 좌보도 목도루도 충신을 죽이고 간신만 등용하는 조정은 싫다고 하자 파면시켰다. 간신들을 등용하고 태조왕의 태자 막근을 죽였다. 그 아우 막덕은 숙부에 손에 죽임을 당할바에 차라리 자결했다. 이후 차대왕은 날로 포악해졌다. 의심이 늘어 신하들의 말은 귀담아 듣지 않았다. 차대왕이 사냥을 하는데 흰 여우가 울면서 따라왔다. 활을 쏘았더니 입으로 화살을 턱 문다. 차대왕은 사무(점치는 관리)를 불러 무슨 징조인지 물었다. <하늘에서는 대왕께 벌을 내릴 뜻이 있으나, 말하지 못하니 짐승을 통해 경고하는 것입니다. 그러나 폐하께서 하늘을 두려워하시면, 벌은 오히려 상으로 바뀔 것입니다.> 차대왕은 사무를 처형시켰다. 다음해 여름 별 다섯 개가 동쪽에 나타나자 무슨 징조인지 물었다. 사실대로 고하면 죽게 될 것이라 생각하여 나라가 크게 번영할 징조라고 거짓말했다.
그해 겨울 연나부의 조의 명림답부는 뜻을 같이 하는 이들을 모았다. 명림답부는 곧바로 차대왕을 죽였다. 명림답부가 차대왕의 막내 아우 백고가 어질다고 천거되자 그가 임금이 되었으니 77세로 왕이된 8대 임금 신대왕이다. 차대왕의 태자 추안이 자수하자 용서하고 높은 직위를 준다. 신대왕은 화합정치를 했다. 신대왕은 권력이 분산되는 좌․우보 제도를 폐지하고 한 사람에게 권력이 집중되는 국상제를 만들어 명림답부를 국상으로 임명했다. 국상 명림답부와 신대왕의 선정으로 나라가 안정되었다.
그러자 고조선의 옛 땅을 회복하려 하였다. 한나라가 권력 다툼으로 내부 사정이 좋지 않은데다 선비와 부여의 침입으로 혼란스러운 것을 알고 한나라 변경을 공격했다. 신대왕 8년(172) 겨울 한나라 대군이 고구려를 침입했다. 국상 명림답부는 천리를 행군한 한나라 대군이 군량이 부족하여 한달도 못되어 굶주릴 것으로 보고 성주위에 도랑을 파고 높은 방책을 쌓은 후 성밖의 곡식을 모두 성안으로 옮기고 성안에서 적을 막기만 했다. 한나라 군사는 한달도 못되어 군사를 돌렸다. 이때 공격하여 좌원에서 대승을 거두었다. 좌원은 한나라 군의 공동묘지가 되었다.
신대왕 15년(179) 국상 명림답부가 113세의 나이로 죽자 왕은 7일간 정사를 파했다. 슬픔이 컸던지 신대왕은 그해를 넘기지 못하고 세상을 떠났다. 신대왕은 발기․남무․발기․연우․계수 다섯 아들을 두었다. 맏왕자 발기가 어리석은 반면 둘째 왕자인 남무는 키가 크고 체격이 좋았을 뿐 아니라 인자하고 뛰어난 판단력을 가지고 있었다. 그래서 신대왕은 죽기 3년전에 남무를 태자로 책봉했다. 남무태자는 힘이 세어 큰 솥도 들을 수 있었다. 고구려에서는 큰 솥을 들을 수 있어야 장사로 여겼다. 그가 왕이 되니 9대 임금 고국천왕이다.
그러나 신대왕의 맏아들 발기는 왕위계승에 승복하지 못하고 반란을 일으켰다. 발기는 평소 권력에서 소외되어 불만이 많았던 소나부의 3만여 가구를 거느리고 한나라 요동 태수 공손강에게 투항했다. 그러나 공손강은 받아주지 않았다. 발기는 무리를 이끌고 비류수 상류에 돌아와 머물렀다. 그러나 관대한 고국천왕은 죄를 묻지 않았다. 한때의 분을 못이겨 실수한거니...
외척 어비류와 좌가려가 왕비의 세력을 등에 업고 방자한 행동을 했다. 집이 크고 땅이 많은 사람이 있으면 자기에게 바치게 했다. 예쁜 딸이 있으면 자기한테 바치게 했다. 그 아들들도 사치를 즐기며 행패가 심했다. 말하자면 고구려의 탱자족이었다. 조금만 비위를 건드려도 행패를 부렸다.
그러자 신하들이 엄히 다스릴 것을 요청했다. 이 소식을 들은 그들은 자기 세력권인 연나부의 군사를 일으켜 반란을 일으켰다. 고국천왕 13년. 그후 지방조직을 왕이 직접 4나부를 통솔하는 중앙집권제로 바꿨다. 또 4부에서 골고루 인재를 등용했다. 환나부->동부, 소나부->서부, 관나부->남부, 연나부->북부. 인재를 천거하라 하니 동부의 안류를 국상으로 추천했다. 안류는 사양하고 대신 을파소를 천거했다. 성격이 곧고 강직하며 지혜롭고 생각이 깊다는 것. 을파소를 부르니 행색이 초라했지만 위엄이 있었다. 중외대부에 임명하려 하자 자신은 우둔하다고 사양했다. 고국천왕은 그 정도 벼슬로는 뜻을 펼 수 없다는 을파소의 의중을 알고 큰 그릇이라 여겨 국상을 맡기자 받아들였다.
국상이 된 을파소는 조정의 부정부패와 비리를 단호히 척결했다. 을파소가 신하들을 이간질 한다고 참소했으나 고국천왕은 을파소의 뜻에 따르지 않는 자는 관직의 높고 낮음을 가리지 않고 그 일족을 멸하겠다고 선언했다. 이렇게 해서 을파소의 개혁이 이루어졌다. 먼저 경제개혁이 있었다. 고구려가 대국이 되려면 경제를 살려야 하므로 농업의 장려와 발전이 급선무였다. 황무지를 개간하고 저수지를 만들고, 농업지식을 널리 백성들에게 전하게 했다. 또 나라의 기강을 바로 잡으려면 상과 벌을 분명히 해야 한다고 생각했다. 공정해야 했다. 수억원대의 뇌물을 받은 귀족은 쉽게 풀어주고, 닭 몇 마리 훔친 백성만 벌을 준다면 공정한 법이 아니다. 왕은 죄를 지은 자는 지위고하를 막론하고 합당한 벌을 받게 하겠다고 선언했다.
전직 농부였던 을파소는 서리가 많이 내려 곡식이 상하자 백성들이 굶주리고 있는 모습을 왕이 직접 보기를 원했다. 고국천왕과 함께 사냥을 나갔던 을파소는 돌아가는 길에 마을에 들러 백성들의 생활을 살펴보게 했다. 한 사람이 울고 있었다. <무슨 일로 그리 슬피 울고 있느냐?> <그동안 품을 팔아 노모를 봉양했는데, 올해는 흉년이라 품팔이 할 곳을 찾지 못했습니다. 집에서는 어머니가 기다리는데, 식량을 구할 길이 없어 울고 있었습니다.> <백성들이 굶주리는 것은 짐의 덕이 부족해서이다.> 고국천왕은 그에게 곡식과 음식을 주어 위로한 후 홀아비․과부․늙고 병든자 ․스스로 살아갈 수 없는 자들을 찾아내 구제하도록 했다.
을파소가 이것이 일시적이 되지 않도록 제도화할 것을 권하자 을파소의 건의에 따라 고국천왕은 매해 봄 3월부터 가을까지 식구수에 따라 곡식을 빌려주고 겨울에 돌려받는 <진대법>을 만들었다. 이 법으로 많은 가난한 백성들이 구제를 받았다. 을파소는 산상왕 7년(203)에 세상을 떠났는데 이때 백성들은 그의 죽음을 안타까와하며 통곡했다. 국상만세, 폐하만세를 외쳤다. 국상 을파소는 진실로 백성들 편이었다.
고국천왕이 갑자기 병을 앓다 세상을 떠나자 왕자가 없었던 왕비 우씨가 한밤중에 첫째 아우 발기를 찾았다. 그러나 왕이 승하하면 왕위를 이어야 하지 않냐고 하는데도 형님이 돌아가셔도 왕비자리에 계속 있으려는 욕심을 가진 것으로 보고 불쾌해 했다. 또 왕비가 한밤중에 찾아온 것을 지적하며 무안을 주었다. 응하지 않자 왕의 둘째 동생 연우를 찾았다. 연우는 다과를 내놓으며 극진히 대접을 했다. 왕의 승하를 알리자 친절하게 음식대접까지 했는데 연우는 급히 고기를 썰다가 손을 다친다. 왕비는 허리띠를 찢어 상처를 싸매준다. 왕비의 침소까지 바래다 준다. 고구려는 형이 죽으면 아우가 형수랑 결혼하는 풍습이 있다. 왕비는 왕이 후계자로 연우를 지목했다고 거짓말을 해서 임금이 되게 했는데 그가 산상왕이다.
발기가 반란을 일으키고 산상왕의 아내와 자식들을 죽였다. 그러나 고국천왕의 왕비 우씨가 산상왕을 설득하여 성문을 닫고 꿈쩍도 하지 않으니 발기는 백성들에게 호소했다. <친애하는 국민 여러분! 연우가 왕위를 가로챈 대역죄를 범했으니, 우리 모두 힘을 합쳐 연우를 몰아냅시다!> 그러나 백성들은 발기타도를 외치며 돌맹이를 던졌다. 멍청해서 동생한테 뺏기기나 하고 부끄러운줄 알라고 하며...
발기는 한나라 요동 태수 공손도에게 투항한 후 군사 3만을 요청했다. 이들을 이끌고 고구려로 쳐들어 왔다. 그러나 발기는 막내동생 계수에게 패해 쫓기는 신세가 되었다. 발기는 자결했고, 계수는 형의 시체를 거두어 묻어주었다. 이 얘기를 들은 산상왕은 한나라를 끌여들여 조국을 멸하려 한 발기의 장례를 치렀다고 화를 냈다. 너도 불순한 생각이 있지? 그러나 막내 동생 계수는 산상왕의 덕을 널리 알리고자 한 것뿐이라고 말했다. 만약 발기 형님의 장례를 치르지 않는다면, 백성들이 누구에게 손가락질하며 욕하겠습니까? 이 말을 듣고 산상왕은 네 말이 옳다, 내가 덕이 부족하여 너를 꾸짖었구나... 그해 가을 산상왕은 형님의 시신을 가져와 왕족의 예를 갖춰 다시 장례를 치르라! 고국천왕도 관대했는데 그 형에 그 아우였다. 산상왕은 고국천왕의 왕비 우씨를 자신의 왕비로 삼았다.
우씨는 역시 후사를 낳지 못했다. 산상왕은 후궁을 맞고 싶었다. 그러나 신하들도 왕비의 눈치를 보고 적극적으로 나서지 못했다. 그러다 나라 제사에 쓸 돼지가 도망가서 주통촌까지 달아났는데 거기서 예쁜 처녀가 개떡으로 돼지를 잡을 수 있게 도와주었다. 보고를 받은 산상왕은 그날밤 처녀의 집을 찾았다. 어머니가 임신했을 때 무당이 황후를 낳을 것이라고 해서 후녀라는 이름을 얻었다. 이후 산상왕은 자주 후녀를 찾았다. 이 얘기는 왕비의 귀에 들어갔다. 왕비는 자객을 보냈고 이 사실은 미리 안 후녀는 남장을 하고 도망쳤다. 그러나 곧 추격당하여 자객에게 잡혔는데 오히려 큰 소리를 쳤다. <너희가 나를 죽이겠다고! 난 폐하의 아이를 임신했으니, 나를 죽이면 아이도 죽게 된다. 간이 부었거든 날 죽여라!> 이렇게 하여 후녀는 위기에서 벗어날 수 있었다. 이 일을 전해들은 산상왕은 왕비에게 부탁하여 소후로 받아줄 수 있게 해주었다. <그래도 내 사랑은 오직 당신뿐이니..> <그 사랑만 변치 않는다면...> 결국 후녀는 소후로 봉해졌고 아들을 낳았다. 그 이름을 교체라 했다.
산상왕은 도읍을 국내성에서 환도성으로 옮기고(209) 교체를 태자로 봉한 후 재위 31년째인 227년 승하했다. 이에 태자 교체가 19세의 나이로 즉위하니 11대 임금 동천왕이었다. 동천왕은 인자하고 너그럽다고 소문났다. 정말 착한 사람이었다. 태자 교체가 즉위한 후에도 왕비 우씨는 심술을 부리며 동천왕을 괴롭혔다. <왕이 지금 외출하려 하니, 애마의 갈기를 잘라 버려라.> <이번엔 실수인 것처럼 뜨거운 국을 왕에게 쏟아버려라.> <순전히 실수예요!. 전 죽어 마땅해요. 제발 죽여주세요.> <뭐 이만한 일 가지고...> 동천왕 2년(228) 우씨는 태후로 봉해졌다. 동천왕은 천사표 왕이었다.
동천왕 8년(234) 우씨는 여인으로서의 절개를 잃었으니 면목이 없어 선왕(고국천왕)를 뵐 수 없다. 산상왕 곁에 묻어달라고 유언했다. 이리하여 태후는 산상왕 곁에 묻혔는데 다음날 무당이 동천왕을 찾아오아 말하길 간밤에 선왕(고국천왕)께서 제게 오셨습니다. 어제 우씨가 산상왕 곁에 묻힌 것을 보고, 너무 분한 나머지 산상왕이랑 싸웠다. 싸우고 나서 생각하니, 창피해서 백성들 볼 낯이 없구나. 나를 무엇으로든 좀 가려다오. 그래서 동천왕은 고국천왕의 무덤 앞에 소나무를 일곱겹으로 빽빽이 심었다.
동천왕은 중국 삼국시대에 위․촉․오 중 위나라와 화친했다. 오나라가 사신을 보내 손을 잡자고 하자 오나라 사신의 목을 베어 위나라로 보냈다. 위의 사마의가 군사를 이끌고 요동지역을 공격할 때 동천왕은 구원병 1천여명을 보내 위나라를 도와주어 승리로 이끌었다. 그러나 배려가 없자 화친을 깨고 요동을 쳤다. 요동 서안평을 결국 점령했다. 위나라는 고구려를 치려했으나 촉한의 그 유명한 제갈공명도 내 능력으론 고구려를 침범할 수 없다는 말을 전해 듣고 섣불리 덤비지 못한다. 4년후 유주 자사 관구검이 고구려를 침략했는데 이를 비류수에서 역습하여 막고, 다시 양맥에서 대승을 거두었다.
그러자 동천왕은 무조건 진격을 하다 관구검의 필사적인 저항에 부딪혀 수많은 군사를 잃고 말았다. 관구검은 도성은 환도성을 함락시키고, 장군 왕기로 하여금 동천왕을 뒤쫓게 하였다. 큰 위기에 봉착했다. 위나라 군에 바짝 쫓겨 따돌리기 어려운 상황이었다. 그때 충신 밀우가 힘을 다해 길을 막고 그 사이에 동천왕은 흩어진 군사를 모아 전열을 재정비했다. 유옥구를 보내 적진에 쓰러져 있는 밀우를 구출해 온다. 정신을 차린 밀우가 자신이 동천왕의 무릎을 베고 누운 것을 발견하고 죽을 죄를 지었다고 하니까 오히려 <무슨 소리? 너는 내 생명의 은인이다.>
남옥저로 향했으나 적군이 계속 추격하자 계략을 썼다. 음식을 적장에서 갖다주며 틈을 노려 적장을 찌르겠다는 내용이다. 유유가 적장 왕기를 찾아갔다. <우리 왕께서는 승산이 없다고 판단하시고 항복하려 하십니다. 사죄하는 뜻으로 이 음식들을 가져왔으니 장수들에게 나누어 주십시오. 그리고 이건 특별히 장군님께만 드리는 우리 고구려 최고의 요리입니다. 제가 직접 올리겠습니다.> 그릇 속에서 칼을 꺼내 유유는 적장 왕기를 죽였다. 그리고 나서 유유는 스스로 목숨을 끊었다. 대장을 잃은 위나라 군사는 혼란에 빠졌다. 동천왕은 이때를 틈타 추격군을 전멸시키고 환도성으로 진격해 관구검도 내쫓았다.
밀우에겐 거곡과 청목곡을, 유옥구에겐 압록강 눌하원을 식읍으로 주었다. 유유의 아들 다우에게는 대사자의 벼슬을 내렸다. 환도성이 완전히 파괴된 것을 발견한 동성왕은 평양성을 쌓고 도읍을 옮겼다. 동천왕이 세상을 떠나자 그의 덕을 칭송하며 슬퍼하지 않는 사람이 없었고, 신하 중에는 순장되고자 하는 사람도 많았다.