Faits :
A.
A.a. Depuis le 1 er novembre 1994, A._ SA en qualité de locataire et B._ AG en tant que bailleresse étaient liées par des contrats de bail ayant pour objets une arcade de 46 mètres carrés au rez-de-chaussée d'un immeuble à Genève, un dépôt en sous-sol et deux emplacements de parking. Les locaux étaient destinés à l'exploitation d'une bijouterie de luxe. Le loyer mensuel total était de 18'805 fr. dès le 1 er avril 2012.
A.b. Par pli du 13 mars 2012, la bailleresse a mis la locataire en demeure de s'acquitter des loyers de février et mars dans les trente jours, avec menace de résiliation. Le 24 avril 2012, elle a fait de même pour le loyer d'avril.
Par pli du 14 juin 2012, la bailleresse a une nouvelle fois sommé la locataire, sous menace de résiliation, de régler dans les trente jours la somme totale de 37'630 fr. correspondant aux loyers pour les mois de mai et juin plus 20 fr. de frais de rappel; ce pli a été distribué le 15 juin 2012. Le 4 juillet 2012, la locataire a payé 18'805 francs. En procédure (cf. infra let. B), elle a allégué avoir téléphoné à la gérance de la bailleresse le lundi 16 juillet 2012 pour obtenir un délai de 24 heures; la personne responsable, non joignable, devait prétendument la contacter le lendemain, ce qu'elle aurait omis de faire.
Le 18 juillet 2012, la bailleresse a notifié à la locataire quatre avis de résiliation pour l'arcade, le dépôt et les deux emplacements de parking. La résiliation était motivée par le non-paiement des loyers malgré la mise en demeure du 14 juin 2012 (art. 257d CO). Le 19 juillet 2012, la locataire a procédé à un versement de 18'805 fr., correspondant au solde du montant réclamé le 14 juin 2012, à l'exception des frais de rappel.
B.
B.a. Le 14 août 2012, la locataire a contesté les résiliations devant la Commission de conciliation; non conciliée, la cause a été portée devant le Tribunal des baux et loyers du canton de Genève. Le 11 décembre 2012, la bailleresse a déposé une requête en évacuation auprès de l'autorité de conciliation, puis devant le Tribunal des baux, qui a joint les deux causes.
Par jugement du 10 juin 2014, le tribunal a déclaré valables les résiliations notifiées le 18 juillet 2012 pour le 31 août 2012 relatives à l'arcade et sa dépendance, à savoir le dépôt, ainsi qu'aux deux emplacements de parking; il a ordonné l'évacuation immédiate de la locataire. En droit, le tribunal a notamment relevé que le second paiement de 18'805 fr. était intervenu après l'échéance du délai comminatoire et que la locataire n'avait pas apporté la preuve qu'un délai supplémentaire lui aurait été accordé. Il a nié que les résiliations soient contraires à la bonne foi.
B.b. La locataire a déféré cette décision à la Chambre des baux et loyers de la Cour de justice, qui a rejeté l'appel par arrêt du 30 mars 2015. En substance, la cour a constaté que les parties s'accordaient à dire que les conditions de l'art. 257d CO étaient réunies; la locataire invoquait uniquement l'annulabilité des résiliations au motif qu'elles contrevenaient aux règles de la bonne foi. La cour ne pouvait suivre ce point de vue. En effet, le second paiement était intervenu trois jours après l'échéance de la mise en demeure, étant précisé que le 15 juillet 2012 était un dimanche. Il n'était pas nécessaire de trancher la question de savoir si un tel retard pourrait être considéré comme admissible; dans le cas présent, il était indéniable que la locataire ne s'était pas toujours acquittée à temps du loyer dans le passé et avait fait l'objet de mises en demeure reçues quelques mois auparavant.
C.
La locataire (ci-après: la recourante) a saisi le Tribunal fédéral d'un recours en matière civile concluant à l'annulation des résiliations. La bailleresse (ci-après: l'intimée) a conclu au rejet du recours dans la mesure où il est recevable. La recourante a ultérieurement déposé des observations. L'autorité précédente s'est référée à son arrêt.
Par ordonnance du 11 juin 2015, la Présidente de la cour de céans a fait droit à la requête de la recourante et accordé l'effet suspensif au recours.
Considérant en droit :
1.
La recourante soutient qu'il y a arbitraire à retenir qu'elle ne s'était pas toujours acquittée du loyer à temps dans le passé et avait fait l'objet de mises en demeure quelques mois auparavant; les retards ne seraient au demeurant pas précisés dans l'arrêt attaqué. Or, il ressort de l'arrêt que la recourante, avant la mise en demeure ayant conduit à la résiliation, avait déjà fait l'objet de deux mises en demeure pour les loyers de février, mars et avril 2012 - ce qu'elle ne conteste pas. En déduire qu'elle n'avait pas payé à temps ces loyers ne prête dès lors pas à critique, spécialement pas sous l'angle de l'arbitraire.
2.
La recourante reproche à la Cour de justice d'avoir arbitrairement renoncé à constater que l'intimée, en ne réagissant pas à sa demande de sursis, lui avait accordé, à tout le moins tacitement, un délai de paiement supplémentaire. Il ne ressort pas de l'arrêt attaqué que la recourante aurait soulevé ce grief devant l'instance précédente; la critique est dès lors irrecevable faute d'épuisement des voies de recours cantonales. On relèvera que la recourante ne se plaint pas, dans le présent acte de recours, d'une violation de son droit d'être entendue, dans le sens qu'elle aurait soulevé le grief et que l'instance précédente aurait omis de le traiter; la recourante ne démontre pas non plus que la constatation selon laquelle les parties s'accordaient, devant l'instance précédente, à dire que les conditions de l'art. 257d CO étaient réunies serait arbitraire. La cour de céans ne saurait examiner ces questions d'office (cf. art. 106 al. 2 LTF).
Quoi qu'il en soit, la critique serait infondée. Rien ne permet de retenir que l'intimée aurait indubitablement eu l'intention subjective d'accorder un délai supplémentaire. Quant à savoir si la recourante pouvait interpréter le silence de l'intimée comme un accord, il s'agit d'une question de droit et non de fait; or, selon le principe de la confiance, l'on ne saurait admettre - dans l'hypothèse où les faits seraient avérés - qu'un locataire mis en demeure pour non-paiement du loyer peut de bonne foi inférer que le bailleur lui accorde un délai supplémentaire quand le premier contacte la gérance du second le dernier jour du délai comminatoire pour obtenir un délai et reçoit tout au plus l'indication que la personne responsable, non atteignable, le contactera le lendemain.
3.
La recourante se plaint enfin d'une violation de l'art. 271 CO. En vertu de cette disposition, la résiliation est annulable lorsqu'elle contrevient aux règles de la bonne foi.
A teneur de l'art. 257d al. 1 CO, lorsque le locataire, après réception de la chose, a du retard pour s'acquitter d'un terme ou de frais accessoires échus, le bailleur peut lui fixer par écrit un délai de paiement et lui signifier qu'à défaut de paiement dans ce délai, il résiliera le bail. Le délai doit être d'au moins trente jours pour les baux d'habitations ou de locaux commerciaux. L'art. 257d al. 2 CO dispose qu'à défaut de paiement dans le délai fixé, le bailleur peut résilier le contrat pour la fin d'un mois moyennant un délai de congé de 30 jours au minimum, s'agissant de baux d'habitations ou de locaux commerciaux.
La jurisprudence admet que le congé prononcé conformément à l'art. 257d CO peut, à titre très exceptionnel, contrevenir aux règles de la bonne foi; la notion doit toutefois être interprétée très restrictivement. L'annulation entre en considération notamment dans les cas suivants: le bailleur a réclamé au locataire, avec menace de résiliation du bail, une somme largement supérieure à celle en souffrance, alors qu'il n'était pas certain du montant effectivement dû; ou encore, l'arriéré est insignifiant, ou a été réglé très peu de temps après l'expiration du délai comminatoire, alors que le locataire s'était jusque-là toujours acquitté du loyer à temps; ou enfin, le bailleur ne résilie le contrat que longtemps après l'expiration de ce même délai. Le fardeau de la preuve d'un congé contraire à la bonne foi incombe au demandeur à l'action en annulation (ATF 140 III 591 consid. 1).
En l'espèce, la recourante a payé le solde trois jours après l'expiration du délai comminatoire; elle avait déjà tardé à payer le loyer des mois précédents. Dans ces circonstances, il ne saurait être question ni d'un retard négligeable, ni de mauvaise foi de l'intimée. Cette conclusion s'impose y compris dans l'hypothèse où la locataire aurait donné l'ordre de verser le solde avant d'avoir reçu l'avis de résiliation; en effet, elle ne conteste pas avoir agi après l'expiration du délai comminatoire.
4.
Le recours est manifestement infondé, si bien que l'arrêt de la cour de céans est motivé sommairement (art. 109 al. 3 LTF). La recourante, qui succombe, supportera les frais et dépens de la présente procédure dont les montants sont fixés notamment au vu de la valeur litigieuse, en tout cas supérieure à 700'000 fr. (art. 66 al. 1 et art. 68 al. 1 et 2 LTF; art. 1 du Tarif des émoluments judiciaires du Tribunal fédéral et art. 4 du Règlement sur les dépens; cf. ordonnance présidentielle du 2 juin 2015).
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 à 9'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 10'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre des baux et loyers de la Cour de justice du canton de Genève.
Lausanne, le 4 août 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Monti