L’action se place hors de la forteresse et près d’une maison, celle où réside Elvira, un mois après la fuite d’Arturo avec la prisonnière.
Arturo revient d’exil, heureux de retrouver sa patrie. Il entonne une chanson du temps de ses amours avec Elvira, mais doit se cacher lorsqu’une troupe de soldats traverse la scène. Il reprend ensuite sa chanson, Elvira l’entend et apparaît soudain.
Les amoureux se retrouvent enfin et Arturo apprend à Elvira pourquoi il a fui : conduite devant le Parlement, la prisonnière aurait été condamnée à mort : c’était la reine ! Elvira est rassurée : Arturo n’a jamais cessé de l’aimer, et elle retrouve le bonheur. Mais ce bonheur est de courte durée : un tambour se fait entendre, et Elvira commence à retomber dans la folie. Les soldats entrent, Arturo veut partir avec Elvira, mais celle-ci croit qu’il va de nouveau s’enfuir avec l’autre femme et le retient.
Il y a maintenant sur scène Riccardo, Giorgio, et une foule de Puritains. Riccardo annonce à Arturo que le Parlement a décidé sa mort. Celui-ci explique qu’Elvira se croyait trahie ; cette dernière, qui a maintenant retrouvé la raison, est horrifiée de réaliser ce qu’elle a fait. Riccardo et Giorgio expriment leur émotion ; Riccardo implore même la pitié de la foule – alors que c’est lui qui vient d’annoncer à Arturo son arrêt de mort. Le chœur des femmes plaide la pitié et celui des hommes, impitoyable, la vengeance. La situation semble désespérée pour Arturo et Elvira, lorsqu’un cor se fait entendre. Un messager arrive et remet une lettre à Giorgio, qui la lit avec Riccardo. Tous deux annoncent à la foule que les Stuart sont vaincus et les coupables pardonnés : Arturo est sauvé. Accompagnés du chœur, ils chantent leur joie de la fin des combats et leur soulagement pour Arturo et Elvira, qui chantent de leur côté leur amour.