In the Farnese Palace, Scarpia anticipates the pleasure of bending Tosca to his will.
The spy Spoletta arrives, not having found Angelotti; to placate the baron, he brings in Mario, who is interrogated while Tosca is heard singing at a royal gala downstairs. She enters as her lover is being taken to an adjoining room for torture. Unnerved by Scarpia's questioning and Mario's screams, she reveals Angelotti's hiding place.
Mario is carried in; realizing what was happened, he rages at Tosca, but the gendarme Sciarrone rushes in to announce that Napoléon has won the Battle of Marengo, a defeat for Scarpia's side. Mario shouts his defiance.
Tosca yields to Scarpia in exchange for her lover's life. Fighting him off, she protest her fate to God, having delicated her life to art and love.
Spoletta interrupts: faced with capture, Angelotti has killed himself. Tosca, forced to decide, agrees to Scarpia's proposition. The baron pretends to order a mock execution for the prisoner, after which he is to be free. Spoletta leaves.
Scarpia prepares a document of safe-conduct for the lovers. When he embraces her, Tosca stabs him with a knife, wrenches the document from his fingers and, placing candles at his head and a crucifix on his chest slips quietly out.
Suddenly Tosca runs in, filled with the story of her recent adventure. Mario caresses the hands that committed the murder for his sake and the two hail the future.