Faits : A. En décembre 1972, H.B._ a conclu en qualité de locataire un contrat de bail à loyer portant sur un appartement de trois pièces à Genève. Il est décédé le 7 avril 1989, laissant pour héritiers ses deux fils adultes A.B._ et B.B._, qui à cette époque n'habitaient plus chez leurs parents, ainsi que son épouse F.B._, laquelle est restée dans l'appartement. Par la suite, la correspondance relative à ce bail et en particulier les avis officiels de majoration de loyer ont été adressés à la veuve uniquement. En 2004, année de son divorce, A.B._ est retourné vivre avec sa mère dans l'appartement. En août 2009, F.B._ a fait l'objet d'une mesure tutélaire et a quitté l'appartement pour s'installer dans un établissement médico-social. A.B._ a préparé une lettre datée du 11 septembre 2009 que sa mère a signée seule, par laquelle elle confirmait accepter une augmentation de loyer. Par courrier du 7 janvier 2011, la curatrice de la mère, agissant au nom de cette dernière, a déclaré résilier le bail pour le 31 janvier 2011, ce que la bailleresse a accepté par lettre du 13 janvier 2011. Un état des lieux a été fixé au 31 janvier 2011; le service tutélaire en a informé la mère "et son locataire". A.B._ a alors répondu à ce service qu'il habitait chez sa mère depuis six ans, que son adresse était officielle et qu'étant hospitalisé, il ne pourrait pas se présenter au rendez-vous du 31 janvier 2011. Le 25 février 2011, les deux fils A.B._ et B.B._, agissant par le ministère de l'ASLOCA, ont adressé un courrier à la gérance représentant la bailleresse A._ SA, dans lequel ils expliquaient être devenus cotitulaires du bail au décès de leur père en 1989 et contestaient dès lors la validité de la résiliation donnée le 7 janvier 2011, faute d'avoir été contresignée par eux. B. B.a. Le 9 mars 2011, les deux fils, agissant à l'encontre de leur mère et de la bailleresse, ont saisi la commission de conciliation d'une requête visant à faire constater la nullité de la résiliation de bail opérée par leur mère. Cette dernière est décédée le 7 septembre 2011. Le 16 décembre 2011, les deux fils ont porté l'action contre la bailleresse devant le Tribunal des baux et loyers du canton de Genève, en invitant cette autorité à constater la nullité de la résiliation du 7 janvier 2011 et l'existence d'un contrat de bail entre eux-mêmes et la bailleresse. Cette dernière a conclu au rejet de l'action, la résiliation devant être déclarée valable; reconventionnellement, elle a exigé l'évacuation du fils occupant l'appartement. Par jugement du 22 mars 2013, le Tribunal des baux et loyers a constaté que le congé n'était pas valable et que les deux fils étaient liés à la bailleresse par le contrat de bail du 19 septembre [recte: décembre] 1972. B.b. Statuant sur appel, la Chambre des baux et loyers de la Cour de justice a confirmé ce jugement par arrêt du 10 mars 2014, pour les motifs suivants: Au décès du père, la mère et les deux fils sont par succession devenus parties au contrat de bail; ils n'ont pas conclu d'acte de partage écrit qui aurait aussi valu contrat de transfert de bail, les fils présumant à tort que leur mère en deviendrait seule et de plein droit titulaire; la forme écrite n'ayant pas été respectée, la cession du bail n'a pas pu intervenir; la conviction erronée des fils n'était pas suffisante pour attribuer le bail à leur mère; faute de partage valable, les fils sont restés colocataires; ils ne commettent pas d'abus de droit à se prévaloir de cette qualité plus de vingt ans après dès lors qu'ils n'ont pas manifesté de comportements contradictoires pendant cette période où ils ignoraient la dévolution du bail en leur faveur. C. La bailleresse (ci-après: la recourante) saisit le Tribunal fédéral d'un recours en matière civile, dans lequel elle requiert que soit déclarée valable la résiliation donnée par le service des tutelles le 7 janvier 2011 pour le 31 janvier 2011, et que l'occupant A.B._ soit condamné à évacuer l'appartement de tous ses biens et de sa personne, toutes autres conclusions devant être rejetées. Les intimés A.B._ et B.B._, agissant en personne, concluent au rejet du recours. L'autorité précédente se réfère à son arrêt.