Faits: A. Z._, née en 1935, était locataire depuis 1978 d'un appartement de cinq pièces au rez-de-chaussée d'un immeuble situé ... en ville de Genève. En décembre 2007, elle a signé un nouveau contrat de bail pour la période du 1er janvier au 31 décembre 2008, renouvelable tacitement d'année en année, sauf préavis de résiliation donné trois mois à l'avance. Le loyer annuel a été fixé en dernier lieu à 13'200 fr., charges non comprises. En mai 2009, l'immeuble a été racheté par la société X._ SA, dont le but est de participer à des entreprises, notamment immobilières. Par avis non motivé du 31 juillet 2009, la nouvelle propriétaire a résilié le bail de la locataire pour le 31 décembre 2009. B. B.a. Le 27 août 2009, la locataire a déposé une requête en annulation de congé devant la Commission genevoise de conciliation en matière de baux et loyers. Plusieurs audiences ont été reportées à la demande des parties, qui étaient en négociation. Le 18 septembre 2009, la société bailleresse a indiqué à la locataire, par avocats interposés, que le congé était motivé par la volonté de mettre l'appartement à la disposition d'un proche. Le même jour, elle a déclaré "sous les réserves d'usage" qu'elle était disposée à entrer en matière sur une prolongation de bail. Par courrier du 2 octobre 2009 également rédigé "sous les réserves d'usage", l'avocat de la locataire a répondu que sa mandante étant âgée et de condition modeste, elle serait heureuse que la bailleresse " l'aide à tenter de trouver une solution de relogement, si possible dans le quartier ... où elle a[vait] sa famille "; elle cherchait un appartement de quatre pièces dont le loyer n'excéderait pas 1'500 fr. Le courrier ajoutait encore ce qui suit: "Ceci précisé, ma mandante accepterait de passer un procès-verbal devant la Commission de conciliation en matière de baux valant unique prolongation de bail jusqu'au 31 janvier 2014. Le procès-verbal devrait prévoir que ma mandante est autorisée à quitter les lieux en tout temps, moyennant un préavis de quinze jours pour la fin d'un mois. Je vous remercie de m'indiquer le sort que votre mandante réserve à cette proposition transactionnelle." Le conseil de la bailleresse a répondu le 21 octobre 2009, "sous les réserves d'usage": "J'ai bien reçu votre correspondance du 2 octobre 2009. Soyez-en remercié. L'échéance du 31 janvier 2014 apparaît trop lointaine à ma cliente. Par contre, celle-ci se met immédiatement à la recherche d'un appartement de 4 pièces au loyer maximum de Frs 1'500.- par mois." Une audience s'est tenue le 1er juin 2010. Le même jour, l'avocat de la bailleresse a adressé le courrier suivant au conseil de la locataire: "Je fais suite à notre entretien téléphonique de ce matin et vous confirme que ma mandante accepte l'offre transactionnelle formulée dans votre lettre du 2 octobre 2009, à savoir une unique prolongation de bail jusqu'au 31 janvier 2014. Vu l'accord intervenu, la présente n'est pas couverte par les réserves d'usage." L'avocat de la locataire a répondu le 4 juin 2010: "Je fais suite à l'audience de conciliation du 1er juin 2010, ainsi qu'à vos lignes qui ont suivi celle-ci. Vous m'aviez indiqué, par courrier du 21 octobre 2009, que l'échéance du 31 janvier 2014 apparaissait trop lointaine à votre cliente. Ce refus de notre proposition transactionnelle du 2 octobre 2009 a rendu celle-ci caduque. Dès lors, aucun accord n'est encore intervenu. Je ne manquerai cependant pas de revenir très prochainement à vous, afin de tenter de trouver une solution amiable dans ce dossier." Entre juin et novembre 2010, la bailleresse a proposé six appartements à la locataire, qui les a refusés. Par décision du 31 octobre 2011, la commission de conciliation a retenu que les parties n'avaient trouvé aucun accord quant à un départ ou une prolongation de bail. Elle a annulé le congé au motif qu'il contrevenait aux règles de la bonne foi. B.b. Le 14 novembre 2011, la bailleresse a déposé une demande devant le Tribunal des baux et loyers du canton de Genève. Elle invitait cette autorité à constater la validité du congé et à ratifier l'accord portant sur une unique prolongation de bail jusqu'au 31 janvier 2014. A l'audience de comparution personnelle qui s'est tenue le 12 mars 2012, l'administrateur unique de la bailleresse a donné les explications suivantes: la société dont il était l'organe avait pour actionnaire unique une holding dénommée A._ SA. L'immeuble, qui était organisé en propriété par étages, devait faire l'objet de travaux de rénovation importants; il était prévu de créer un appartement dans les combles. Une demande d'autorisation avait été déposée en 2009. L'actionnaire n'avait pas encore décidé si elle revendrait les lots de PPE. Lorsqu'elle les remettrait à bail, elle exigerait des loyers plus élevés, conformément aux loyers usuels du quartier et aux travaux accomplis. Les travaux impliquaient à terme le départ des locataires. Après ces travaux, tous les appartements devaient être mis à disposition de proches de la holding. Le congé contesté visait précisément à mettre l'appartement à disposition d'un proche de l'actionnaire. " Ce proche, qui [pouvait] être une connaissance, [était] encore indéterminé en l'état. " Deux proches avaient déjà été installés dans des appartements vacants, avec des baux à court terme. L'administrateur ignorait toutefois leurs noms et l'étage où ils logeaient. Par jugement du 7 janvier 2013, le tribunal a annulé le congé notifié le 31 juillet 2009 et rejeté toutes autres conclusions. B.c. La bailleresse a interjeté un appel auprès de la Chambre des baux et loyers de la Cour de justice. Cette autorité a confirmé la décision entreprise, par arrêt du 17 juillet 2013. C. La bailleresse saisit le Tribunal fédéral d'un recours en matière civile, dans lequel elle requiert à titre principal que la résiliation du bail pour le 31 décembre 2009 soit déclarée valable et qu'il soit constaté que les parties ont valablement convenu d'une unique prolongation échéant le 31 janvier 2014, respectivement que l'accord en question soit ratifié. La locataire conclut au rejet du recours. L'autorité précédente se réfère à son arrêt.