Faits:
A. Depuis le 1er octobre 1990, la société immobilière X._ SA (la bailleresse) loue à H.Y._ et F.Y._ (les locataires) un appartement dans l'immeuble ..., à Genève. Conclu pour une année, le bail a été ensuite reconduit tacitement d'année en année. Fixé initialement à 8'412 fr., le loyer annuel, sans les charges, a été porté à 8'880 fr. à partir du 1er octobre 1991.
Par avis de majoration du 12 juin 2008, la bailleresse a augmenté le loyer annuel net à 13'200 fr. dès le 1er octobre 2008; le motif invoqué résidait dans l'adaptation du loyer aux loyers usuels du quartier. Devant la Commission de conciliation en matière de baux et loyers, les locataires ont contesté la hausse de loyer et demandé reconventionnellement une baisse de loyer. La cause a été déclarée non conciliée. Seuls les locataires, persistant dans leurs conclusions en réduction de loyer, ont saisi le Tribunal des baux et loyers du canton de Genève dans le délai de trente jours dès la communication de l'échec de la tentative de conciliation. Ce n'est qu'en répondant à la demande de baisse des locataires que la bailleresse a conclu à la confirmation de l'augmentation de loyer selon avis de majoration du 12 juin 2008. Dans le même temps, les locataires ont retiré leur requête. Par jugement du 26 février 2009, le Tribunal des baux et loyers a débouté la bailleresse de ses conclusions, pris acte du retrait de la requête des locataires et ordonné la radiation de la cause du rôle. Ce jugement sera confirmé par la Chambre d'appel en matière de baux et loyers du canton de Genève dans un arrêt du 5 octobre 2009, puis par le Tribunal fédéral dans un arrêt du 13 janvier 2010 (cause 4A_538/2009).
Par avis officiel du 26 mai 2009, la bailleresse a augmenté le loyer annuel net de l'appartement loué par H.Y._ et F.Y._, le fixant à 17'760 fr. dès le 1er octobre 2009. Elle invoquait notamment l'indexation au coût de la vie, ainsi que des travaux de rénovation. Les locataires ont contesté cette hausse. A la suite de l'échec de la tentative de conciliation, la bailleresse a saisi le Tribunal des baux et loyers d'une requête en validation de la hausse de loyer. Par jugement du 22 mars 2010, le tribunal a constaté la nullité de l'avis de majoration du 26 mai 2009. Statuant le 17 janvier 2011 sur appel de la bailleresse, la Chambre des baux et loyers de la Cour de justice du canton de Genève a confirmé le jugement de première instance.
A l'époque de cette deuxième procédure, F.Y._ a écrit par deux fois directement à l'un des actionnaires de la bailleresse, qu'elle connaissait et qui résidait à l'étranger. Dans un courrier du 4 novembre 2009, elle portait à la connaissance de cette personne les démarches et procédures menées par l'administratrice unique de la société immobilière, faisait part de sa situation financière et personnelle difficile et sollicitait une intervention en sa faveur, ainsi qu'en faveur d'autres locataires de l'immeuble, âgés de plus de 80 ans. Dans sa réponse du 11 novembre 2009, l'actionnaire invitait la locataire à rencontrer l'administratrice en vue de négocier une hausse de loyer raisonnable, à défaut de quoi la procédure suivrait son cours; il lui demandait également de ne plus lui écrire. F.Y._ lui a tout de même adressé une nouvelle lettre en date du 18 novembre 2009; elle y expliquait les motifs l'ayant conduite à reporter des rendez-vous avec la régie, mentionnait les échecs des procédures menées par l'administratrice, se plaignait du fait que celle-ci prétendait faussement que le logement de 3,5 pièces comportait 4,5 pièces, ce qui constituait «un mensonge de plus», et déplorait les différentes procédures et plaintes en cours, constitutives d'un grand gaspillage à ses yeux; la locataire faisait également référence à une plainte pénale déposée à l'encontre de l'administratrice.
Le 8 décembre 2009, l'administratrice unique de X._ SA a déposé une plainte pénale pour diffamation, voire calomnie, contre F.Y._; elle se considérait comme atteinte dans son honneur par les deux courriers susmentionnés. Le Procureur général du canton de Genève classera la plainte pénale le 13 avril 2010 en opportunité, compte tenu du caractère civil prépondérant de l'affaire, tout en invitant F.Y._ à cesser les actes ayant provoqué le dépôt de la plainte.
Par avis du 10 décembre 2009 notifié à chacun des deux locataires, la bailleresse a résilié le bail avec effet au 30 septembre 2010; invoquant de justes motifs selon l'<ref-law>, elle faisait valoir que les accusations mensongères proférées à l'encontre de son administratrice unique rendait l'exécution du bail intolérable.
B. Par requête du 8 janvier 2010, déclarée non conciliée par la Commission de conciliation et portée devant le Tribunal des baux et loyers, H.Y._ et F.Y._ ont conclu à l'inefficacité du congé du 10 décembre 2009, subsidiairement à son annulation. Ils demandaient préalablement l'apport à la procédure de toutes les procédures civiles et pénales opposant ou ayant opposé, depuis le 1er janvier 2008, X._ SA et/ou l'administratrice unique de la société à treize locataires de l'immeuble de la rue ....
Par jugement du 21 juin 2011, le Tribunal des baux et loyers a constaté l'inefficacité du congé notifié le 10 décembre 2009. Il a jugé que les conditions d'un congé extraordinaire pour justes motifs au sens de l'<ref-law> n'étaient pas réalisées en l'espèce.
Statuant le 20 février 2012 sur appel de X._ SA, la Chambre des baux et loyers a confirmé le jugement de première instance.
C. X._ SA interjette un recours en matière civile. Elle demande principalement au Tribunal fédéral de constater que le bail la liant à H.Y._ et F.Y._ a été valablement résilié pour justes motifs avec effet au 30 septembre 2010. A titre subsidiaire, elle conclut au renvoi de la cause à l'une des deux autorités cantonales précédentes.
La recourante sollicite l'effet suspensif, sans motiver sa conclusion.
H.Y._ et F.Y._ n'ont pas été invités à déposer de réponse.

Considérant en droit:
1. 1.1 Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière civile (<ref-law>) par une autorité cantonale de dernière instance statuant sur recours (<ref-law>) dans une affaire pécuniaire dont la valeur litigieuse atteint le seuil de 15'000 fr. requis en matière de bail à loyer (<ref-law>; sur la manière de calculer la valeur litigieuse en cas de contestation d'une résiliation de bail, cf. <ref-ruling> consid. 1.1 p. 390 s. et les arrêts cités).
Exercé par la partie qui a succombé dans ses conclusions en validation du congé (<ref-law>), le recours est en principe recevable, puisqu'il a été déposé dans le délai (<ref-law>) et la forme (<ref-law>) prévus par la loi.
1.2 Le recours peut être interjeté pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>). Il n'est donc limité ni par les arguments soulevés dans le recours, ni par la motivation retenue par l'autorité précédente; il peut admettre un recours pour un autre motif que ceux qui ont été invoqués et il peut rejeter un recours en adoptant une argumentation différente de celle de l'autorité précédente (<ref-ruling> consid. 1.4 p. 317 s.; <ref-ruling> consid. 1.4 p. 400). Compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, sous peine d'irrecevabilité (<ref-law>), le Tribunal fédéral n'examine en principe que les griefs invoqués; il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, lorsque celles-ci ne sont plus discutées devant lui (<ref-ruling> consid. 2.2.1 p. 389; <ref-ruling> consid. 1.4 p. 400). Par exception à la règle selon laquelle il applique le droit d'office, le Tribunal fédéral ne peut entrer en matière sur la violation d'un droit constitutionnel ou sur une question relevant du droit cantonal ou intercantonal que si le grief a été invoqué et motivé de manière précise par la partie recourante (<ref-law>).
1.3 Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356) - ou en violation du droit au sens de l'<ref-law> (<ref-law>).
La partie recourante qui entend s'écarter des constatations de l'autorité précédente doit expliquer de manière circonstanciée en quoi les conditions d'une exception prévue par l'<ref-law> seraient réalisées, faute de quoi il n'est pas possible de tenir compte d'un état de fait qui diverge de celui contenu dans la décision attaquée (ATF <ref-ruling> consid. 5.1 p. 356; <ref-ruling> consid. 1.2 p. 187). Une rectification de l'état de fait ne peut être demandée que si elle est de nature à influer sur le sort de la cause (<ref-law>). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>).
1.4 Le Tribunal fédéral ne peut aller au-delà des conclusions des parties (<ref-law>). Toute conclusion nouvelle est irrecevable (<ref-law>).
2. La résiliation litigieuse est un congé extraordinaire que la bailleresse a fondé sur l'<ref-law>.
2.1 Le congé pour justes motifs de l'<ref-law> est subsidiaire par rapport aux autres congés extraordinaires prévus par la loi, notamment celui de l'<ref-law> (arrêt 4A_536/2009 du 2 février 2010 consid. 2.2; arrêt 4C.395/2006 du 23 janvier 2007 consid. 3). Lorsque l'état de fait présenté par le bailleur à l'appui d'un congé correspond d'un point de vue juridique à un autre motif de résiliation extraordinaire que celui qu'il a invoqué, cette erreur de qualification ne doit pas lui nuire et le juge peut procéder à la rectification nécessaire (<ref-ruling> consid. 3.1 p. 442; <ref-ruling> consid. 3d p. 129).
2.2 En premier lieu, la cour cantonale s'est demandé si l'état de fait présenté par la bailleresse ne correspondait pas plutôt au motif de congé extraordinaire prévu par l'<ref-law> (manque de diligence ou d'égards envers les voisins). Elle est arrivée à la conclusion que tel n'était pas le cas, sans être critiquée sur ce point par la recourante. Comme il ne ressort pas de l'état de fait retenu - qui lie le Tribunal fédéral (<ref-law>) - que les intimés n'utiliseraient pas la chose louée conformément à sa destination, qu'ils ne la traiteraient pas avec le soin nécessaire ou qu'ils manqueraient d'égards envers leurs voisins, un congé fondé sur l'<ref-law> n'entre effectivement pas en considération en l'espèce, sans qu'il soit nécessaire de se pencher plus longuement sur cette question.
3. Il convient à présent d'examiner si la résiliation du 10 décembre 2009 remplit les conditions d'un congé extraordinaire selon l'<ref-law>.
3.1 En vertu de cette disposition, une partie peut résilier le bail à n'importe quel moment, en observant le délai de congé légal, si l'exécution du contrat lui devient intolérable pour de justes motifs. Ne peuvent constituer de justes motifs au sens de l'<ref-law> que des circonstances d'une gravité exceptionnelle, qui n'étaient pas connues ni prévisibles lors de la conclusion du contrat et qui ne résultent pas d'une faute de la partie qui s'en prévaut (<ref-ruling> consid. 2a/aa p. 265 s.). Les circonstances invoquées doivent être si graves qu'elles rendent la poursuite du bail jusqu'à son terme objectivement intolérable; une intolérance ressentie de manière purement subjective ne suffit pas (arrêt 4A_594/2010 du 12 janvier 2011 consid. 2.3; arrêt précité du 2 février 2010 consid. 2.4, in SJ 2010 I p. 412; arrêt 4C.35/2006 du 30 mai 2006 consid. 2.1; arrêt 4C.375/2000 du 31 août 2001 consid. 3a, in Pra 2001 n° 177 p. 1073). La manière dont la situation est perçue par la partie qui donne le congé n'est toutefois pas dénuée de pertinence. Les circonstances constitutives d'un juste motif doivent rendre la continuation du bail jusqu'à son terme intolérable non seulement selon une appréciation objective, mais aussi subjectivement. Il n'y a pas de justes motifs s'il apparaît que le cocontractant s'accommode de faits objectivement graves et que ceux-ci ne lui rendent pas insupportable la poursuite de la relation contractuelle. Il a ainsi été admis, dans le cas des justes motifs au sens de l'<ref-law>, que la partie doit résilier immédiatement le bail après la survenance du juste motif, faute de quoi elle montre par son attitude que celui-ci ne lui rend pas insupportable la continuation du contrat (arrêt précité du 12 janvier 2011 consid. 2.3; arrêt précité du 2 février 2010 consid. 2.4; arrêt 4A_119/2009 du 9 juin 2009 consid. 2.3).
Pour dire s'il existe de justes motifs, le juge doit appliquer les règles du droit et de l'équité (<ref-law>). Il doit donc prendre en considération tous les éléments du cas particulier, sans perdre de vue le principe de la sécurité du droit et l'intérêt de l'autre partie au maintien du contrat (arrêt précité du 2 février 2010 consid. 2.4; arrêt 4C. 35/2006 du 30 mai 2006 consid. 2.1; arrêt précité du 31 août 2001 consid. 3a). Le Tribunal fédéral ne revoit qu'avec réserve la décision d'équité prise en dernière instance cantonale. Il intervient lorsque celle-ci s'écarte sans raison des règles établies par la doctrine et la jurisprudence en matière de libre appréciation, lorsqu'elle s'appuie sur des faits qui, dans le cas particulier, ne devaient jouer aucun rôle, ou, au contraire, lorsqu'elle ignore des éléments qui auraient absolument dû être pris en considération; en outre, le Tribunal fédéral redresse les décisions rendues en vertu d'un pouvoir d'appréciation lorsqu'elles aboutissent à un résultat manifestement injuste ou à une iniquité choquante (<ref-ruling> consid. 2.2.1 p. 279; <ref-ruling> consid. 2 p. 123 s. et les arrêts cités).
Si un congé ne satisfait pas aux exigences légales auxquelles son exercice est subordonné, il est inefficace (<ref-ruling> consid. 3.1; <ref-ruling> consid. 1c/aa p. 161). Le juge ne peut pas convertir un congé extraordinaire inefficace en un congé ordinaire (<ref-ruling> consid. 3). Par ailleurs, si les conditions d'un congé pour justes motifs sont réalisées, le locataire ne peut pas le faire annuler sur la base de l'art. 271a al. 1 let. d ou e CO (art. 271a al. 3 let. e CO).
3.2 Sur ce dernier point, la cour cantonale, dans une motivation subsidiaire critiquée par la recourante, juge que, même s'il était efficace, le congé litigieux devrait être annulé, puisqu'il est intervenu alors que deux procédures judiciaires opposant les parties en rapport avec le bail étaient en cours. La Chambre des baux et loyers se méprend à cet égard. Car de deux choses l'une: soit le congé remplit les conditions d'une résiliation extraordinaire pour justes motifs, auquel cas il est pleinement valable et n'est pas annulable sur la base de l'art. 271a al. 1 let. d CO; soit les conditions du congé de l'<ref-law> ne sont pas réalisées, auquel cas la résiliation ne peut pas être convertie en un congé ordinaire susceptible d'être annulé en application de l'art. 271a al. 1 let. d CO. Contrairement à ce que la cour cantonale a admis, une annulation du congé litigieux n'est donc pas envisageable. Seule la question de sa validité ou de son inefficacité se pose.
3.2 Sur ce dernier point, la cour cantonale, dans une motivation subsidiaire critiquée par la recourante, juge que, même s'il était efficace, le congé litigieux devrait être annulé, puisqu'il est intervenu alors que deux procédures judiciaires opposant les parties en rapport avec le bail étaient en cours. La Chambre des baux et loyers se méprend à cet égard. Car de deux choses l'une: soit le congé remplit les conditions d'une résiliation extraordinaire pour justes motifs, auquel cas il est pleinement valable et n'est pas annulable sur la base de l'art. 271a al. 1 let. d CO; soit les conditions du congé de l'<ref-law> ne sont pas réalisées, auquel cas la résiliation ne peut pas être convertie en un congé ordinaire susceptible d'être annulé en application de l'art. 271a al. 1 let. d CO. Contrairement à ce que la cour cantonale a admis, une annulation du congé litigieux n'est donc pas envisageable. Seule la question de sa validité ou de son inefficacité se pose.
3.3 3.3.1 La Chambre des baux et loyers s'est fondée sur l'ensemble des circonstances pour nier l'existence d'un juste motif de congé. Elle a relevé notamment que le comportement reproché à l'intimée se limitait à deux courriers adressés en moins d'un mois à l'un des actionnaires de la bailleresse, que ces lettres s'inscrivaient dans le cadre de plusieurs litiges opposant des locataires de l'immeuble à la recourante, que la locataire souhaitait informer l'un des actionnaires - qu'elle connaissait - des différentes démarches et procédures engagées par l'administratrice, que les termes choisis reflétaient l'émotion de la rédactrice, qui se déclarait à l'assurance-invalidité et dont la situation pouvait être lourdement péjorée selon l'issue des procédures. La cour cantonale ajoute que les éléments évoqués par la locataire ne sont pas dénués de substance puisque la recourante ne saurait contester avoir déjà succombé dans plusieurs procédures introduites par l'administratrice et que celle-ci allègue des faits erronés, s'agissant du nombre de pièces du logement en cause. Même si la locataire aurait été bien inspirée de s'abstenir d'envoyer la seconde lettre, il n'en demeure pas moins, selon la Chambre des baux et loyers, que les termes utilisés dans ce courrier, certes forts, ne sauraient justifier une résiliation qui, compte tenu de la pénurie notoire de logements à Genève, serait de nature à entraîner des conséquences extrêmement lourdes pour la locataire, sans commune mesure avec le comportement incriminé. La cour cantonale relève également que les courriers litigieux sont demeurés sans conséquence puisque les actionnaires ont conservé leur confiance à l'administratrice. Elle observe enfin que la plainte pénale de l'administratrice a été classée sans suite.
3.3.2 Sur plusieurs points, la recourante reproche à la cour cantonale d'avoir établi les faits de manière inexacte et violé l'<ref-law>. Ainsi, les juges genevois auraient repris sans autre l'allégué des intimés, selon lequel l'objet loué comporte 3,5 pièces, ce qui les a conduits à considérer que l'administratrice affirmait un fait erroné en déclarant que l'appartement comprenait 4,5 pièces et, par conséquent, que les affirmations contenues dans les courriers litigieux de la locataire n'étaient pas totalement sans fondement. Or, selon la manière de compter les pièces applicable à Genève, qui inclut la cuisine, le logement en cause comporterait bien 4,5 pièces. Par ailleurs, contrairement à ce que la cour cantonale constate, la locataire ne se présenterait pas, dans les courriers litigieux, comme la porte-parole de locataires âgés, ni comme disposant de ressources modestes en tant qu'invalide. En outre, la Chambre des baux et loyers aurait constaté de manière manifestement inexacte que les lettres de novembre 2009 sont restées sans conséquence, alors que les propos litigieux auraient été propagés largement parmi les habitants de l'immeuble. Enfin, la cour cantonale aurait «constaté les faits contrairement au texte clair de l'ordonnance du Procureur général qui a admis le caractère pénalement répréhensible du comportement de l'intimée puisqu'il l'a sommée de cesser sur-le-champ les actes qui lui étaient reprochés».
3.3.3 La Chambre des baux et loyers devait déterminer si la bailleresse pouvait se prévaloir de justes motifs rendant l'exécution du bail intolérable. Les justes motifs invoqués résidaient dans les accusations prétendument mensongères proférées par la locataire envers l'administratrice de la bailleresse.
Selon l'état de fait liant le Tribunal fédéral (<ref-law>), les propos incriminés résultent des deux courriers de novembre 2009 adressés à un actionnaire de la recourante. Il ne ressort pas de l'arrêt cantonal que ces propos auraient été relatés à d'autres personnes. Dans son grief fondé sur l'<ref-law>, la recourante se borne à affirmer que lesdits propos ont été largement propagés auprès des autres locataires de l'immeuble et que les troubles étaient principalement provoqués par l'intimée. Il s'agit là d'une critique dépourvue de toute démonstration d'arbitraire et, partant, irrecevable (cf. consid. 1.3. supra).
Contrairement à ce que la recourante prétend, il n'apparaît pas que la cour cantonale a rapporté les propos de la locataire contenus dans les courriers litigieux de façon manifestement inexacte. L'intimée y évoque le cas de plusieurs locataires âgés, de sorte que l'autorité précédente pouvait sans arbitraire la considérer comme la porte-parole de ces personnes. Dans sa première lettre, l'intimée indique également qu'elle est à l'AI et qu'elle ne «roule pas sur l'or»; en mentionnant que la locataire avait fait valoir «la modestie de ses ressources financières en tant qu'invalide», les juges précédents n'ont aucunement travesti de manière insoutenable le texte écrit par l'intimée. Les griefs soulevés sur ces deux points par la recourante sont manifestement mal fondés.
En ce qui concerne les courriers litigieux et leur portée, la cour cantonale a jugé qu'ils ne justifiaient pas la résiliation extraordinaire du bail. Cette appréciation, fondée sur l'ensemble des circonstances, doit être approuvée. En tout état de cause, les propos tenus par l'intimée dans ses lettres de novembre 2009 ne sont manifestement pas si graves qu'ils rendent l'exécution du contrat intolérable pour la bailleresse. Comme la cour cantonale l'a relevé, le Procureur général a classé l'affaire sur le plan pénal; cette constatation est dépourvue de tout arbitraire, quoi qu'en dise la recourante. Par ailleurs, la question de savoir si l'appartement compte 3,5 ou 4,5 pièces n'apparaît pas déterminante. L'expression «mensonge de plus», utilisée peut-être à tort par la locataire pour qualifier la déclaration de l'administratrice au sujet du nombre de pièces, ne saurait suffire pour modifier le sort de la cause (cf. <ref-law>). En effet, il faut rappeler à cet égard que, pour l'application de l'<ref-law>, la perception subjective des circonstances par la partie qui résilie peut revêtir une importance déterminante (cf. consid. 3.1 supra). En l'espèce, selon les faits établis dans l'arrêt attaqué, la bailleresse a, le 10 décembre 2009, notifié le congé aux intimés pour le terme conventionnel du 30 septembre 2010, alors qu'un congé extraordinaire fondé sur l'<ref-law> doit uniquement respecter le délai de congé légal de trois mois (cf. <ref-law>). C'est dire que la bailleresse était prête à poursuivre le contrat pendant une durée de près de sept mois plus longue que nécessaire. Ce faisant, elle a démontré, par sa propre attitude, qu'elle ne considérait pas l'exécution du bail comme intolérable.
Sur le vu de ce qui précède, le recours sera rejeté dans la mesure de sa recevabilité.
4. Le recours étant ainsi tranché, la requête d'effet suspensif, dont la finalité échappe du reste à la cour de céans, devient sans objet.
La recourante, qui succombe, prendra à sa charge les frais judiciaires (<ref-law>). Elle n'aura pas à verser de dépens aux intimés, qui n'ont pas été invités à répondre au recours.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté dans la mesure où il est recevable.
2. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3. Il n'est pas alloué de dépens.
4. Le présent arrêt est communiqué aux mandataires des parties et à la Cour de justice du canton de Genève, Chambre des baux et loyers.
Lausanne, le 17 avril 2012
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Klett
La Greffière: Godat Zimmermann