한 세기가 시작된, 어느 작은 마을. 중년의 변호사, 프레데릭 에게르만(군나르 비요른스트란트 분)은 자신보다 훨씬 어린 아내이자 두 번째 부인, 앤(울라 야콥손 분)이 자신을 남자가 아닌 아버지처럼 좋아한다는 사실로 인해 결혼 생활이 불만족스럽기만 하다. 결국, 프레데릭은 아내 몰래, 옛 연인이자, 배우인 데지레 아름펠트(에바 달벡 분)를 찾아가지만, 그곳에서 그녀의 현재 애인인 말콤 백작(야를 큘레 분)과 만나게 된다. 두 남자가 논쟁을 벌이는 중에, 데지레가 낳은 사생아의 아버지가 프레데릭임이 밝혀지고, 당황한 프레데릭은 데지레에게 아이를 키우기에 적합치 않다고 말했다가 따귀를 얻어맞고 만다. 프레데릭이 가고 난 후, 데지레는 말콤 백작과 말다툼 끝에 자유분방한 어머니를 찾아간다. 어머니는 아버지와 결혼 한 후, 비슷한 일을 겪었다고 말해준다. 데지레는 모든 문제를 풀기 위해, 하지 축제 이브에 친구들을 초대해 달라고 부탁한다. 데지레의 어머니는 마지못해 딸의 요청을 수락하고, 프레데릭과 아내 앤, 말콤 백작과 그의 부인 샬롯데, 그리고 프레데릭의 장성한 아들 헨릭과 하녀 페트라 등이 저택에 모인다. 저택에 도착한 손님들은 저녁 식사를 대접받는데, 음식 속에는 자극적인 사랑의 묘약이 섞여있다. 프레데릭은 아들 헨릭과 앤이 묘한 분위기라는 사실을 감지하고, 백작부인은 자신이 프레데릭을 유혹할 수 있다면서 남편과 여러 사람들 앞에서 내기를 건다. 그렇게 얽히고 설킨 관계들 속에서 에로틱한 저녁 식사가 진행되는데...

농구부 주장이며 인기 만점의 꽃미남 트로이와 똑똑하지만 부끄러움이 많은 여학생 가브리엘라가 송년 파티에서 우연히 노래를 부르게 된다. 처음엔 친구들의 장난으로 시작했던 노래가 두 사람의 목소리가 절묘한 하모니를 이루자 둘을 한마음으로 노래를 부르게 된다. 그리고 둘은 서로의 전화번호만 교환하고 아쉬움을 간직한 채 헤어지게 된다. 그러던 중 가브리엘라가 트로이가 다니던 고등학교로 전학을 오면서 둘을 다시 학교에서 만나게 된다. 그리고 때마침 겨울 뮤지컬을 준비하던 다버스 선생님이 개최한 뮤지컬 오디션에서 둘은 다시 한번 노래를 부르게 되고, 2차 오디션을 준비하기에 이른다. 그러나 학교에 이들이 뮤지컬 주연 자리를 놓고 2차 오디션을 본다는 소문이 돌면서 트로이가 속한 농구부와 가브리엘라가 속한 과학클럽은 둘을 갈라 놓기 위해서 계획을 꾸미는데...