빌보에게 어느 날 간달프와 난쟁이들이 찾아온다. 그들은 빌보에게 용이 지키고 있는 보물을 찾아 떠나자고 제안한다. 빌보는 모험을 떠나고, 그 와중에 빌보와 난쟁이들은 양고기에 질린 트롤들에게 붙잡히지만, 빌보와 난쟁이들은 간달프의 도움으로 살아난 후 엘론드(요정)의 골짜기에서 휴식을 취한다.
거대하고 높은 산맥들을 넘던 비오는 날 마른 굴을 발견한다. 그리고 그들의 휴식을 취하는 사이, 바위 틈이 열리며 고블린들이 나와 그들을 잡아간다. 그들은 어렵게 고블린들에게 탈출하지만 빌보는 혼자 남겨진다. 혼자 남겨진 빌보는 반지를 줍게 되고, 더듬으며 나아가다 골룸을 만나게 된다. 골룸은 빌보에게 수수께끼 내기를 제안하고, 골룸이 이기면 빌보가 잡아 먹히고 빌보가 이기면 골룸이 나가는 길을 안내하기로 한다. 빌보가 내기에서 이겼지만 골룸은 약속을 지키지 않고, 빌보는 반지(끼게 되면 다른 사람의 눈에 보이지 않는다)를 이용하여 동굴을 탈출한다. 빌보는 일행에 다시 합류하고 자신이 동굴에서 탈출한 이야기를 들려준다. 그러다가 그들은 와르그(늑대)와 고블린에게 포위되고, 절대 절명의 위기에서 독수리들의 도움으로 자리를 벗어난다.
독수리들의 도움으로 인해 목숨을 건진 그들은 베오른의 집으로 찾아간다. 그곳에서 며칠 묵다가 그들은 다시 길을 떠나고, 간달프와 이별하게 된다. 어둠숲에 들어간 그들은 배가 고파서 숲을 곧바로 가로질러 가라는 베오른의 지시를 어기고 요정의 불빛을 따라 간다. 그러다 그들은 거미에게 잡히고, 빌보의 기지로 도망친다. 그러나 소린은 일행에서 떨어져 나와 ‘요정왕’에게 붙잡히고, 지하 감옥에 갇힌다. 빌보를 제외한 나머지 난쟁이들도 요정들에게 붙잡히고, 빌보는 소린과 난쟁이들을 구출할 계획을 세우기 시작한다. 그러다 가을축제가 되고, 난쟁이들은 술통에 들어가 요정왕의 지하 감옥을 탈출한다. 요정왕의 지하 감옥을 탈출한 빌보와 난쟁이들은 호수마을로 들어간다. 그들은 그곳에서 옛왕의 후손으로서 열렬한 환영을 받는다.
외로운산(용이 있는 곳)으로 가기 위해 일행은 다시 길을 떠난다. 외로운 산에 도착한 그들, 그러나 문은 꼼짝도 하지 않는다. 소득 없이 시간만 보내는 빌보와 난쟁이들, 그러나 이때도 빌보가 결국 문의 열쇠를 찾아낸다. 빌보는 난쟁이들의 외면 속에 혼자 스마우그(용)이 사는 곳으로 들어간다. 그곳에서 그는 술잔을 하나 들고 오고, 용은 그 사실을 알고 분노한다. 용의 분노를 피해 굴속에 숨어있던 그들은 스마우그의 동정을 살피기로 하고, 빌보는 다시 스마우그가 있는 터널 속으로 들어간다. 그리고 용과 대화하면서 용의 약점을 알아낸다. 스마우그가 자리를 비운 틈을 타서 일행은 터널을 내려간다. 그리고 그곳에서 그들은 용의 보물을 챙긴다. 용은 분노하여 마을을 초토화시킨다. 영주는 도망가고 아무 희망도 없는 상황, 바르드는 용의 약점을 공격하여 용을 무찌른다. 그리고 마을을 재건한다.
오래된 망루에서 보초를 서는 빌보와 난쟁이들, 그들은 스마우그가 죽었다는 소식을 듣고 보물이 있는 산으로 다시 돌아간다. 난쟁이들은 ‘외로운산’의 정문을 요새화하고, 호수인간들과 요정들의 군대는 그곳을 행해 진군해 온다. 난쟁이들은 협상을 거절하고, 군대는 외로운산을 포위한다. 빌보는 전쟁을 막기 위해 한밤중에 성을 빠져나간다. 그리고 바르드와 요정을 만나 ‘아르켄스톤(소린이 아끼는 보물)’을 전한다. 바르드와 요정왕은 아르켄스톤을 가지고 난쟁이들과 협상을 하려 하나 난쟁이들은 거절한다. 난쟁이와 호수인간들, 그리고 요정군대의 전투가 시작되려 할 때, 고블린과 와르그가 기습을 하고 ‘다섯군대 전투’가 시작된다. 전투가 끝나고 빌보는 난쟁이들과 요정왕, 바르드와 이별하고 귀향길에 오른다. 간달프와 빌보는 엘론드의 집에 도착하여 그들이 겪었던 일을 들려준다. 그리고 집으로 돌아온다.