Faits : A. Depuis mars 2004, A._ SA est locataire de locaux commerciaux au rez-de-chaussée de l'immeuble sis, avenue xxx, à Genève. Elle y exploite un bar; selon le bail d'origine, l'objet loué est destiné à l'exploitation d'un café-restaurant. Les bailleurs sont B._, C._, D._ et E._. Le sous-sol de l'immeuble abrite une discothèque. En 2006-2007, le premier étage du bâtiment, comprenant jusqu'alors des surfaces commerciales, a fait l'objet d'une rénovation et d'une transformation en vue de l'affecter à des logements. Active dans le domaine de la résidence hôtelière pour étudiants, F._ SA est au bénéfice d'un bail à ferme portant sur les étages 1 à 8 de l'immeuble. Dès l'automne 2007, les bailleurs ont été informés de l'existence de nuisances sonores nocturnes provenant des établissements publics de l'immeuble. Début 2008, des travaux d'isolation, portant en particulier sur l'isolation phonique des plafonds, ont été effectués dans les locaux loués à A._ SA. Par avenant du 23 janvier 2008, le bail liant A._ SA aux bailleurs a été reconduit pour une période de dix ans échéant le 29 février 2018. En février 2008, F._ SA a assigné les bailleurs en validation de la consignation du fermage, en réduction de la redevance et en paiement de dommages-intérêts. Elle exposait n'avoir pas été en mesure d'exploiter le premier étage de l'immeuble en raison des nuisances sonores excessives dont les locataires s'étaient plaints dès l'automne 2007. Selon l'accord amiable passé entre les bailleurs et F._ SA, celle-ci obtenait une indemnité et une réduction de la redevance, alors que ceux-là s'engageaient à faire valoir leurs droits auprès des exploitants des établissements du rez-de-chaussée et du sous-sol afin que les normes en matière de niveau sonore maximum autorisé soient respectées. Par courrier du 4 juillet 2008, les bailleurs ont reproché à A._ SA d'exploiter les locaux en tant que dancing contrairement au bail et d'y diffuser de la musique à fort volume, ce qui avait obligé les bailleurs à consentir des réductions de loyer à d'autres locataires de l'immeuble et leur avait causé un dommage; ils mettaient la locataire en demeure de cesser immédiatement toute activité autre que celle prévue dans le contrat, faute de quoi le bail serait résilié de manière anticipée. Une deuxième mise en demeure, avec la même teneur, a été adressée à A._ SA le 28 novembre 2008. Par décision du 15 décembre 2008, le Service du commerce a octroyé à l'établissement exploité par A._ SA l'autorisation de "laisser danser, DJ, musique latino et variété, en tenant expressément compte de la tranquillité du voisinage", entre 21 h 00 et 1 h 40; cette autorisation a été régulièrement renouvelée jusqu'à ce que toute animation musicale soit interdite en automne 2011. Le 14 avril 2009, les bailleurs ont adressé une nouvelle mise en demeure à A._ SA, en se référant à leurs courriers précédents et en réitérant leur menace de résilier le bail de manière anticipée si la locataire continuait à exploiter une piste de danse et à dépasser le volume de musique normalement admis dans un café-restaurant. Par courrier du 24 avril 2009, A._ SA a répondu qu'elle avait installé un limiteur de son en date du 15 janvier 2009 et que l'absence de cuisine empêchait l'exploitation d'un restaurant. Le 6 mai 2009, une réunion a eu lieu entre le Service du commerce et les exploitants de trois établissements, dont A._ SA, en raison des nuisances sonores. Une accalmie s'en est suivie. Par avis du 1er mars 2010, les bailleurs ont résilié le bail pour le 30 avril 2010 en invoquant l'art. 257f al. 3 CO. Dans la lettre d'accompagnement, ils précisaient que le congé faisait suite aux différentes mises en demeure adressées, dont la dernière en date du 14 avril 2009, ainsi qu'aux plaintes émanant des occupants de l'immeuble et de certains voisins; sur ce dernier point, les bailleurs remettaient en copie une lettre du 17 février 2010 de l'avocat de F._ SA relayant de nouvelles plaintes d'étudiants habitant l'immeuble. B. Le 1er avril 2010, A._ SA a saisi la Commission de conciliation en matière de baux et loyers d'une requête en constatation de la nullité du congé ou en annulation du congé et, subsidiairement, d'une requête en prolongation de bail. Elle renoncera par la suite à sa conclusion subsidiaire. Le 28 mai 2010, les bailleurs ont déposé une requête en évacuation devant la Commission de conciliation. Les deux causes, déclarées non conciliées, ont été portées devant le Tribunal des baux et loyers du canton de Genève le 15 décembre 2010, respectivement le 9 janvier 2011. Par jugement du 8 décembre 2011, le tribunal a joint les causes. Il a également ordonné des enquêtes. Il a notamment entendu une fonctionnaire du Service de protection contre le bruit, laquelle a confirmé un rapport de mesures de bruit établi le 30 mars 2011 qui constatait des dépassements très importants des valeurs limites dans un studio du premier étage de l'immeuble. Par jugement du 31 janvier 2013, le Tribunal des baux et loyers a déclaré inefficace le congé notifié le 1er mars 2010 pour le 30 avril 2010 et débouté les bailleurs de leur requête en évacuation. Statuant le 7 août 2013 sur appel des bailleurs, 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'instar de l'autorité précédente, elle a jugé que le temps écoulé entre la dernière mise en demeure et la résiliation - près de onze mois - démontrait que le maintien du bail n'était pas insupportable pour les bailleurs, de sorte que l'une des conditions posées par l'art. 257f al. 3 CO n'était pas réalisée. La cour cantonale a relevé au surplus que si l'existence de nuisances sonores nocturnes était confirmée, les témoins entendus lors des enquêtes n'avaient pas pu préciser si le bruit excessif émanait des locaux exploités par A._ SA ou de la discothèque située au sous-sol de l'immeuble. Les bailleurs ont déposé un recours en matière civile (cause 4A_457/2013). Statuant le 4 février 2014, la cour de céans a admis le recours, annulé l'arrêt cantonal et renvoyé la cause à la Chambre des baux et loyers pour nouvelle décision. En substance, le Tribunal fédéral a jugé que la cour cantonale avait violé l'art. 257f al. 3 CO en se fondant uniquement sur le laps de temps entre le dernier avertissement en avril 2009 et la résiliation en mars 2010 pour nier le caractère insupportable des nuisances, alors que d'autres circonstances importantes pour apprécier le cas n'avaient pas été prises en compte. Par ailleurs, en relevant que les témoins ne pouvaient pas préciser si les nuisances sonores émanaient du sous-sol ou du rez-de-chaussée, la cour cantonale semblait ajouter une motivation subsidiaire, qui ne se fondait toutefois pas sur un état de fait suffisamment étayé. Les bailleurs et la locataire ont déposé de part et d'autre une détermination après renvoi ainsi qu'une réplique. Par arrêt du 27 octobre 2014, la Chambre des baux et loyers a constaté l'efficacité du congé notifié pour le 30 avril 2010 et condamné A._ SA à évacuer les locaux loués immédiatement. C. A._ SA interjette un recours en matière civile. A titre principal, elle demande au Tribunal fédéral d'annuler l'arrêt cantonal et de débouter les bailleurs "de toutes autres ou contraires conclusions". Elle conclut subsidiairement à l'annulation de la décision entreprise et au renvoi de la cause à l'autorité cantonale pour nouvelle décision dans le sens des considérants. Par ordonnance du 20 janvier 2015, la Présidente de la cour de céans a accordé au recours l'effet suspensif requis par la recourante. Dans leur réponse, les bailleurs proposent le rejet du recours. Par la suite, la locataire a déposé des observations, suivies d'une détermination finale des intimés. Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.