때는 1861년, 남북전쟁이 일어나기 직전. 배경은 미국 남부, 조지아 주 타라 농장. 농장주의 장녀 스칼렛 오하라(비비안 리 분)는 예쁜 외모뿐 아니라 씩씩한 성격 때문에 많은 남성들의 관심을 한 몸에 받고 있다. 그러나 정작 그녀가 사랑하는 남자 애슐리 윌크스(레슬리 하워드 분)는 그녀가 아닌 사촌 멜라니(올리비아 드 하빌랜드 분)에게 관심이 있다. 스칼렛은 씩씩한 성격답게 직설적으로 애슐리에게 대시하지만 거절당하고, 그 상황을 레트 버틀러(클라크 게이블 분)에게 들키고 만다. 찰스턴 출신의 레트는 행실이 좋지 않다는 소문이 떠돌지만, 도도한 스칼렛의 적수가 될 만한 남성미가 넘치는 성격을 갖고 있기도 하다. 이후 둘은 스릴 넘치는 외줄타기 같은 남녀 관계를 지속해간다. 사랑하는 애슐리가 사촌 멜라니와 결혼한다는 소식에 충격을 받은 스칼렛은 충동적으로 동생 인디아의 남자이자 멜라니의 남동생 찰스의 청혼을 받아들여 결혼한다. 하지만 전쟁이 발발하자 찰스는 군에 입대하게 되고, 머지않아 전사한다. 그리하여 스칼렛은 어린 나이에 과부가 된다. 하지만 스칼렛은 사랑하지도 않은 남자를 위해 상복을 입고 지내야 하는 생활이 짜증난다. 스칼렛의 어머니는 남편을 잃은 딸에게 애틀랜타로 가서 멜라니와 함께 살라고 제안한다. 스칼렛은 어머니 말대로 애틀랜타로 떠나지만 그곳에서 애슐리를 다시 만나게 된다. 그리고 애슐리가 정말 사랑하는 건 자신이 아니라 멜라니라는 사실만 확인하게 된다. 한편, 전쟁 상황은 남부에 불리해져 조지아 주 애틀랜타까지 북군이 쳐들어온다. 스칼렛은 멜라니가 아이를 낳은 뒤 레트의 마차를 타고 죽을 고비를 넘기며 고향 타라로 돌아간다.