Faits: A. Depuis le 15 juillet 2007, Y._ et Z._ sont locataires d'un appartement de trois pièces à Genève, pour un loyer de 15'672 fr. et des charges de 1'500 fr. par an (soit 1'306 fr. resp. 125 fr. par mois). Le 15 juillet 2010, ils ont engagé contre la bailleresse X._ SA une procédure en exécution de travaux et en réduction momentanée de loyer qui a été tranchée par jugement du 1er février 2012. Par contrat du 29 novembre 2010, les locataires ont remis l'appartement en sous-location à A._ pour un loyer mensuel de 1'500 fr., charges comprises. Le contrat, conclu pour une durée d'une année, était renouvelable moyennant l'accord écrit des deux parties. Le lendemain 30 novembre 2010, les locataires ont informé la régie immobilière en charge de l'immeuble que la locataire Z._ quittait l'appartement et renonçait au bail, tandis que le locataire Y._, en raison d'un séjour professionnel à l'étranger, allait sous-louer l'appartement meublé à A._ pour une durée de douze à vingt-quatre mois, moyennant un loyer mensuel de 1'500 fr., charges comprises. La régie a refusé de libérer la locataire Z._ et a sollicité des informations complémentaires. Les locataires ont fourni une copie du contrat de sous-location, mais n'ont pas donné les informations requises concernant le séjour professionnel du locataire Y._ à l'étranger. La régie a refusé d'autoriser la sous-location en invoquant deux motifs: d'une part, les locataires refusaient de lui communiquer des précisions sur le séjour professionnel à l'étranger du locataire Y._; d'autre part, le contrat de sous-location ne prévoyait pas de répercuter sur le sous-loyer la réduction de loyer sollicitée dans la procédure judiciaire qui était alors en cours. La régie a sommé les locataires de réintégrer les lieux au plus tard le 28 février 2011, faute de quoi le bail serait résilié en vertu de l'art. 257f al. 3 CO. Par courrier du 20 février 2011, les locataires ont fait savoir qu'ils refusaient de réintégrer le logement. Ils ont précisé que le locataire Y._ avait eu une opportunité de travailler comme ingénieur géologue en Côte d'Ivoire pour une durée de deux ans, mais qu'en raison de la situation politique et sécuritaire dans ce pays, il avait finalement renoncé à ce projet sans toutefois dénoncer le contrat de sous-location. Ils ont produit une attestation de la sous-locataire certifiant qu'il était prévu de répercuter une éventuelle réduction de loyer sur le sous-loyer. Par avis officiel du 16 mars 2011 se référant à l'art. 257f al. 3 CO, la bailleresse a résilié le contrat avec effet immédiat pour le 30 avril 2011, en raison du refus des locataires de réintégrer l'appartement. B. B.a. Le 12 avril 2011, les locataires ont saisi la Commission genevoise de conciliation en matière de baux et loyers; la conciliation n'a pas abouti. Le 5 juillet 2011, ils ont déposé une demande en contestation du congé devant le Tribunal des baux et loyers. Le 29 novembre 2011, le locataire Y._ a informé la régie qu'il prolongeait la sous-location, précisant qu'il était en recherche d'emploi et avait la ferme intention de réintégrer l'appartement à brève échéance, une fois sa situation stabilisée. Par jugement du 14 septembre 2012, le Tribunal des baux et loyers a constaté la validité du congé. Il a en particulier retenu que si le locataire Y._ avait peut-être encore l'intention de partir à l'étranger au début de l'année 2010, ce projet n'était plus d'actualité au moment où il avait remis son appartement en sous-location; cette remise avait coïncidé avec l'emménagement chez une dame qui allait donner naissance à leur enfant commun au début du mois d'août 2011. B.b. Le 29 octobre 2012, les locataires ont interjeté appel. Statuant par arrêt du 7 août 2013, la Chambre des baux et loyers de la Cour de justice a annulé le jugement de première instance et constaté l'inefficacité du congé. La Chambre a notamment retenu ce qui suit: Les explications du locataire selon lesquelles il a la ferme intention de réintégrer son appartement, moyennant l'obtention préalable d'un travail à Genève lui permettant d'en assumer le loyer, ne sont nullement incohérentes. Les circonstances qui l'ont initialement amené à sous-louer l'appartement - à savoir une opportunité professionnelle en Côte d'Ivoire, qui n'a finalement pas abouti en raison de la situation politique instable - sont établies et légitimes. Il en va de même des circonstances qui l'ont empêché de réintégrer jusqu'alors l'appartement, à savoir son incapacité à assumer seul le loyer courant ensuite de chômage et d'épuisement du droit aux indemnités journalières dès février 2012. Le fait qu'il ait logé chez sa compagne et mère de leur enfant, le temps de trouver du travail à Zurich, n'annihile pas non plus la crédibilité de sa thèse, ce d'autant plus (sic!) qu'il était logé gratuitement. Enfin, qu'il ait trouvé un emploi et un logement à Zurich ne permet pas non plus d'exclure la ferme intention de revenir par la suite à Genève afin de se rapprocher de sa fille, lorsque sa situation professionnelle le permettra. C. La bailleresse (ci-après: la recourante), qui agit sans être représentée par un avocat, saisit le Tribunal fédéral d'un recours en matière civile; elle conclut principalement à ce que l'appel cantonal des locataires soit déclaré irrecevable, subsidiairement à ce que la validité du congé donné le 16 mars 2011 soit constatée. Les locataires (ci-après: les intimés) concluent au rejet du recours et à la confirmation de l'arrêt attaqué. L'autorité précédente se réfère à son arrêt.