제1막
1800 년의 이탈리아 왕국. 요새에서 도망친 정치범 체사레 안젤로티는 성당에서 피난한다. 여기, 안젤로티의 여동생 아타반티 후작 부인의 예배당에서는 경시총감 스카르피아 남작의 기소를 피하고 로마에서 탈출할 수 있도록 옷이 숨겨져 있다.
마리오 카바라도시 화가가 성당에서 일을 본다. 기도하는 체사레의 여동생 모습에 매료된 그는 참회하는 막달레나를 그린다.
도망자는 마리오에게 도움을 청한다. 토스카가 다가오자 안젤로티는 숨는다. 토스카가 카바라도시의 방심상태를 보고 의심을 갖고, 그려진 초상화는 질투를 일으킨다. 사랑한다는 열렬한 약속을 듣고 토스카의 마음이 잠시 가라앉는다.
그녀의 출발 후, 카바라도시는 체사레에게 별장에 숨으라고 제안한다. 형무소 총소리는 죄수의 탈출을 예고한다.
나폴레옹 군대에 대한 승리 소식이 나와 성당에서 엄숙한 예배식이 시작된다. 스카르피아는 부관들과 함께 나타난다. 그는 카바라도시가 안젤로티를 경찰에게 숨기려고 하는 것을 알아채며 자신의 득을 위해 이 상황을 이용하기로 결정한다. 도망자를 잡은 후 카바라도시를 감옥으로 보내고 플로리아 토스카 가수의 마음을 얻으려고 한다. 발견된 안젤로타의 부채와 마돈나의 그림으로 스카피아가 플로리아의 질투를 불러일으키고, 그녀는 분노하여 카바라도시 별장으로 달려간다. 스카르피아가 형사들에게 토스카를 따라가라고 한다.
제2막
스카르피아가 보고를 기다리고 있다. 부하 직원에게 토스카를 데려오라고 한다. 가수를 감시하는 스폴레타 부관은 별장 수색이 실패했다고 보고한다. 체포된 화가를 데리고 온다. 그는 자백을 강요하는 시도를 용감하게 거부하고 다시 한번 토스카에게 침묵하라고 한다. 그러나 고문을 당하는 카바라도시의 비명을 듣게 된 플로리아가 침착성을 잃고 도망자가 숨어있는 곳을 알려준다.
스카르피아는 플로리아에게 그를 선택하면 카바라도시의 목숨을 살려주고 보내겠다고 제의한다. 카바라도시의 사살형이 공포탄으로 수행될 것이라고 약속한다. 플로리아는 사랑하는 남자를 구하기 위해서 동의하고 만다. 스카르피아는 토스카의 요구에 따라 그녀와 카바라도시가 로마를 떠나는 데 도움이 될 편지를 쓴다. 편지를 얻은 토스카는 남작을 단검으로 찌른다.
제3막
사살형 집행 한 시간 전에 카바라도시는 요새 탑으로 안내된다. 그는 사랑하는 여자에게 작별 편지를 쓴다.
토스카가 뛰어온다. 그녀는 화가에게 총소리가 들리면 떨어지고 죽은 척하라고 한다. 군인들이 떠나면 둘이 도망갈 것이라고 이야기한다. 성공적인 결과를 확신한 카바라도시는 침착하게 총 앞에 서 있다. 발사! 군인들이 떠난다. 플로리아는 애인에게 달려가지만, 그는 죽었다.
스카르피아의 살인에 대해 알게 되어 추적자들이 토스카를 둘러싼다. 토스카가 잡히지 않도록 탑의 가장자리로 간다. 오직 죽음만이 카바라도시와 재회시킬 수 있다!