Faits : A. A.a. La société C._ SA, sise à Genève, était active dans la gestion de fortune et les transactions financières. Au moment des faits exposés ci-dessous, elle était administrée par D._ et E._. Elle a été dissoute par jugement de faillite en 2003, puis radiée d'office en 2011. Cette entité collaborait en tant que gérante externe avec divers établissements bancaires, dont la succursale genevoise de Banque B._, société anonyme de droit anglais sise à Londres (ci-après: la banque). Celle-ci exerçait une activité de banque dépositaire des avoirs des clients amenés par la gérante externe. A.b. En 1997 et 1998, la banque a fonctionné comme banque dépositaire d'un fonds de droit étranger F1._ qui avait été créé par la gérante externe. Au sein de la banque, les responsables de la relation avec la gérante externe ont constaté que ce fonds n'était pas performant et générait des pertes. De fait, les détenteurs de parts ont enregistré des pertes comprises entre 40 et 90 %, pertes que l'administrateur D._ leur a cachées en produisant de faux relevés de compte. Le fonds a été clôturé en 1999 en raison de sa faible performance et du fait que la Commission fédérale des banques avait demandé sa transformation en fonds de droit suisse, ce dont ne voulait pas la gérante externe. A.c. En 1999, la banque a proposé à la gérante externe de remplacer ce fonds par un nouveau fonds dénommé F2._, qui a été déposé auprès de la banque et administré par une société appartenant au même groupe bancaire (BB._ SA). Cette solution permettait à la banque de mieux suivre et contrôler la gestion du fonds. Celui-ci a été liquidé à la fin de l'année 2000. Il n'avait pas connu le développement espéré, en ce sens qu'il n'avait pas atteint la masse critique pour être opérationnel. A.d. En mars 2000, la gérante externe a créé le fonds F3._, qui promettait des bénéfices importants sur des opérations de change tout en garantissant le capital investi grâce à une assurance américaine (...). La banque a refusé d'être la dépositaire de ce fonds. La documentation remise par D._ n'avait pas satisfait H._, collaborateur de la banque rattaché au département chargé des relations avec les gérants externes, dont il fut le directeur entre 2000 et 2002. Ni lui, ni les personnes qu'il avait consultées - notamment sa collègue I._ et un doctorant de l'Université de Lausanne - n'avaient pu comprendre le fonctionnement du montage sophistiqué. D._ a confirmé que le prénommé avait trouvé ce produit "nébuleux et obscur". Le fonds fermé a été déposé auprès d'une banque au Luxembourg (Banque X._) et administré par l'entité qui administrait déjà le fonds F1._ (soit...). A.e. Au cours de l'année 2000, D._ a été l'objet de divers articles de presse. La société C._ SA était en effet devenue le principal sponsor d'un club de football, et le prénommé négociait un partenariat avec l'actionnaire principale du club. Dans ce contexte, la presse a évoqué un enlèvement et une tentative de racket dont D._ avait été victime en 1999. En mai 2000, le journal... s'est interrogé à cet égard sur les "troublantes fréquentations" d'un homme d'affaires se prétendant irréprochable; il était précisé que l'intéressé tardait à produire les attestations nécessaires sur l'origine des fonds qu'il voulait investir dans le partenariat. Deux semaines plus tard, le même journal relatait la démission de quatre administrateurs du club de football, dont un s'inquiétait de l'arrivée de D._, qu'il ne jugeait pas à la hauteur du club et de l'actionnaire majoritaire, "notamment en ce qui concerne la transparence"; un autre administrateur déclarait toutefois ne pas avoir de suspicion à l'égard de D._. L'article de presse ajoutait que C._ SA avait reçu une commination de faillite pour un montant de 235'376 fr. En juin 2000, le journal précité a annoncé la rupture de l'accord de partenariat, expliquant que D._ avait tardé à fournir les attestations garantissant l'origine légale de l'argent qu'il devait apporter, pour finalement produire une attestation où il figurait seul; il s'était ensuite montré incapable de régler en temps utile la première tranche (4 millions de fr.) de son investissement. En octobre 2000, l'établissement bancaire... a résilié sa relation d'affaires avec C._ SA. Le directeur du département concerné a expliqué que cette décision était due au risque d'atteinte à la réputation résultant des articles de presse; il n'avait cependant à l'époque aucune raison de penser que D._ fût malhonnête à l'égard de ses clients. D'autres banques auprès desquelles des clients de C._ SA avaient déposé leurs avoirs ont en revanche maintenu leurs relations avec cette société, soit notamment.... A.f. Au début de l'année 2001, la société A._ Ltd, sise aux Bermudes, a cherché à investir sa fortune. Elle avait à l'époque comme ayant droit économique J._, citoyen hongrois ayant fait fortune en commercialisant un logiciel informatique. Le prénommé, qui n'avait pas de connaissances particulières en matière de finance et d'investissements, est entré en contact avec C._ SA, dont il a rencontré les deux administrateurs. Il leur a demandé de faire établir par la banque une lettre de recommandation portant sur leur société et sur eux-mêmes. H._ et I._ ont établi une telle lettre en anglais, datée du 13 février 2001, dans laquelle ils décrivaient l'activité et l'organisation de la gérante externe, présentaient le fonds F2._ et mentionnaient que cette société était membre de l'Association suisse des gérants de fortune dont elle devait respecter le code de conduite. Au nom de la banque, les deux signataires attestaient entretenir une très bonne relation avec la gérante externe et ses administrateurs depuis le début de leur relation, soit depuis plus de deux ans; ils se disaient heureux de pouvoir confirmer leur satisfaction dans l'évolution de leurs affaires et l'"entrepreneurship" de ses administrateurs. Ils précisaient que cette recommandation était rédigée à titre d'information et n'emportait pas d'engagement de la part de la banque. Aucun autre client de la banque n'a sollicité un tel document. A.g. A la fin du mois de mars 2001, D._, E._ et H._ se sont rendus à Londres pour rencontrer J._. Celui-ci souhaitait la présence d'un représentant de la banque auprès de laquelle il envisageait d'ouvrir un compte pour investir dans des fonds proposés par C._ SA. Au cours de cette rencontre, les deux administrateurs de la gérante externe ont présenté les fonds de leur société, notamment le fonds F3._. H._ a expliqué à J._ que la banque ne serait aucunement impliquée dans la gestion de ces fonds, qui était sous la seule responsabilité de la gérante externe. Il n'a pas mentionné que le fonds F1._ avait subi des pertes et que la banque avait refusé de fonctionner comme dépositaire du fonds F3._. Il estimait ne pas avoir à le faire car il ne voulait pas s'immiscer dans la gestion. De surcroît, le fait qu'il ne comprenait pas ce dernier produit ne signifiait pas qu'il était mauvais; il avait été déposé auprès d'une banque luxembourgeoise qui en avait visiblement compris le fonctionnement. H._ se sentait en quelque sorte vexé de ne pas avoir compris le montage et se demandait si c'était lui qui ne comprenait pas ou s'il devait réellement avoir des doutes. Quand J._ lui a demandé s'il risquait de perdre de l'argent, H._ lui a répondu qu'il pouvait en perdre ou en gagner; invité à préciser le montant de la perte maximale, il a répondu 100 %. A.h. C._ SA faisait signer une formule d'"instructions d'investissement" aux clients souscrivant des parts dans le fonds F3._. Ces formules ont connu trois versions. La première ne faisait aucune référence à la banque dépositaire. Dès février 2001, il a été précisé que le gain recherché, soit 40 %, n'était garanti ni par la direction du fonds, ni par la banque dépositaire. Enfin, dès août 2001, il a été mentionné que le remboursement de la valeur initiale des parts n'était garanti ni par la direction du fonds, ni par la banque dépositaire. A.i. Le 18 avril 2001, A._ Ltd (ci-après: la cliente) a ouvert une relation avec la banque. Le 18 juin 2001, la cliente a confié un mandat de gestion discrétionnaire à la gérante externe, en vertu duquel 60 % environ des avoirs confiés devaient être investis dans le fonds F3._. A cette même date, la cliente a signé la formule d'instructions d'investissement, par laquelle elle attestait notamment avoir reçu toutes les explications nécessaires contenues dans un document décrivant en détail le fonctionnement, les risques et les conditions du fonds. Le même mois, elle a transféré 38 millions de dollars américains, avant de se raviser et de réduire l'investissement à 15 millions de dollars environ. Elle a placé 12 millions dans deux fonds (dont un sous-fonds de F2._) et conservé le solde en dépôt fiduciaire auprès de la banque. En juillet 2001, la banque a accordé à la cliente un crédit lombard de 25 millions de francs, destiné à l'achat de parts dans les fonds F2._ ou F3._ et garanti par le nantissement des titres achetés. De fait, 11 millions de dollars (soit à l'époque environ 20 millions de fr.) ont été investis le même mois dans des parts du fonds F3._. Au 30 novembre 2001, le crédit était entièrement remboursé par le produit de la vente des parts du sous-fonds précité et par les fonds du dépôt fiduciaire. Les parts dans F3._ s'élevaient à 206'098, en dépôt valeur de 12'681'609 dollars. L'investissement a augmenté à 236'958 parts au 31 décembre 2001, puis à 241'384 parts au 31 janvier 2002 (dépôt valeur de 13'911'653 dollars). En juin 2002, la banque a informé la cliente qu'elle n'entendait pas renouveler la ligne de crédit. La cliente n'a pu revendre que 5870 parts F3._ pour le prix de 539'756 fr. en juillet 2002, conservant ainsi 235'514 parts invendables dont la valeur a ensuite été jugée nulle. Après que C._ SA eut été déclarée en faillite, la cliente a récupéré 1'884'112 dollars en septembre 2008 et 443'637 dollars en juillet 2010. En novembre 2009, les deux administrateurs de la gérante externe ont été condamnés par la Cour correctionnelle genevoise pour escroquerie en lien avec le fonds F3._. Selon la brigade financière, il était impossible pour des personnes sans connaissances financières spécifiques de déceler l'escroquerie. Le prospectus indiquait que le capital était garanti, que le fonds gagne ou perde en opérations de change. B. B.a. Le 17 novembre 2011, la cliente a assigné la banque devant le Tribunal de première instance du canton de Genève. Elle concluait au paiement de 24'200'340 fr., dont à déduire 1'884'112 dollars (contrevaleur de 2'033'108 fr.) et 443'637 dollars (contrevaleur de 469'408 fr.), et requérait la mainlevée de l'opposition au commandement de payer notifié à la banque le 3 août 2011. La cliente a encore touché ultérieurement 219'261 fr. et réduit d'autant ses conclusions. Par jugement du 17 septembre 2014, le tribunal saisi a condamné la banque à payer à la cliente 21'478'563 fr. plus intérêts et a prononcé la mainlevée de l'opposition à due concurrence. En substance, il a jugé que la banque, à qui la cliente avait demandé un conseil et montré ainsi la confiance particulière qu'elle plaçait en elle, avait violé son devoir d'information en omettant de transmettre à la cliente les renseignements dont elle disposait, à savoir qu'elle ne comprenait rien au fonctionnement du fonds F3._, considéré comme du "bricolage"; qu'elle avait fait modifier les formulaires d'instructions d'investissement; qu'un autre fonds avait dû être liquidé sur ordre de la Commission fédérale des banques; et enfin, que la presse faisait une réputation douteuse à l'administrateur D._. Cette omission avait eu pour conséquence que la cliente n'avait pas pu identifier le danger lié aux placements dans le fonds F3._. Le dommage, correspondant à la perte de l'investissement après déduction des montants récupérés (24'200'340 fr. - [2'033'108 fr. + 469'408 fr. + 219'261 fr.] = 21'478'563 fr.), était en relation de causalité adéquate avec les omissions de la banque. B.b. Statuant le 5 juin 2015 sur appel de la banque, la Cour de justice du canton de Genève a réformé cette décision en rejetant entièrement la demande en paiement intentée par la cliente. En substance, la Cour a exclu toute violation du devoir d'information (cf. infra consid. 2.4). C. La cliente a saisi le Tribunal fédéral d'un recours en matière civile tendant principalement à faire condamner la banque au paiement de 21'478'563 fr. et à lever l'opposition formée dans la poursuite en cours à due concurrence. Après que la recourante eut fourni 65'000 fr. de sûretés en garantie des dépens de la banque intimée, celle-ci a déposé une réponse dans laquelle elle conclut au rejet du recours. L'autorité précédente s'est référée à son arrêt. Sur requête de la recourante, l'effet suspensif a été octroyé par ordonnance présidentielle du 30 novembre 2015.