In de tweede helft van februari 1942 bereidde Japan een landing voor op Java, het belangrijkste eiland van Nederlands-Indië. Op 27 februari verliet een gemeenschappelijke Amerikaanse-Britse-Nederlandse-Australische zeemacht (ABDACOM) onder leiding van admiraal Karel Doorman Surabaya om de Japanse invasievloot te onderscheppen. De geallieerde vloot bestond uit twee zware kruisers, drie lichte kruisers en negen torpedobootjagers. Van de Houston werkten maar zes van de negen kanonnen van 203 millimeter vanwege een eerdere Japanse luchtaanval. De eerste zeeslag vond plaats in de Javazee, waarbij bijna alle geallieerde schepen tot zinken werden gebracht of op de vlucht sloegen. De Houston en de Perth trokken zich beide terug naar Tanjung Priok, de belangrijkste haven van de Nederlands-Indische hoofdstad Batavia. Daar kwamen zij op 28 februari aan.
De twee schepen kregen later op de 28e de opdracht koers te zetten naar Cilacap aan de zuidkust van Java. De Nederlandse torpedobootjager Hr.Ms. Evertsen zou hen vergezellen, maar was nog niet gereed. De schepen verlieten de haven rond 19u en stonden onder commando van Hector Waller, de kapitein van de Perth. Hij kreeg het commando omdat hij ouder was dan zijn Amerikaanse collega Albert Harold Rooks, kapitein van de Houston. Tegen 22u stuitten zij op de Japanse invasievloot die bezig was aan land te gaan in de Baai van Bantam, aan de noordwestkust van Java. De invasievloot die uit meer dan vijftig transportschepen bestond, stond onder leiding van admiraal Kenzaburo Hara en viceadmiraal Takeo Kurita. De invasievloot werd beschermd door het vliegdekschip Ryujo, vijf kruisers en twaalf torpedobootjagers.
Rond 23u werden de twee geallieerde schepen als eerste gesignaleerd door de Fubuki, een Japanse torpedobootjager. Het Japanse schip werd andersom eerst nog aangezien voor een Australisch korvet dat daar aan het patrouilleren zou zijn, maar al snel ontstond er een vuurgevecht en was het wel duidelijk dat het om een Japans schip ging. De vuuruitwisseling betekende het einde van zowel de Perth als de Houston evenals vijf Japanse schepen, te weten vier transportschepen en een mijnenveger. 696 man aan boord van de Houston vonden de dood, terwijl 369 werden gered. Van de Perth overleefden 375 man het zeegevecht niet, tegen 307 overlevenden. Beide kapiteins werden gedood. Rooks kreeg postuum de Medal of Honor. Aan Japanse zijde viel het dodental mee. Slechts tien Japanners verloren het leven.
Het zeegevecht was nog in volle gang toen de Evertsen ter plekke arriveerde. Ze probeerde de strijd te vermijden en ongezien door de Straat Soenda te varen. Dat ging goed totdat de Nederlanders op twee Japanse torpedobootjagers stuitten. In eerste instantie wist ze te ontsnappen door een rookgordijn te leggen, maar slechts voor korte tijd. Zij kwam onder vuur te liggen en de Nederlanders lieten het schip vastlopen. De bemanning kon het schip verlaten. Van de 149-koppige bemanning lieten drie het leven. De rest werd na negen dagen gevangengenomen en naar jappenkampen afgevoerd, waar ze gedurende de rest van de oorlog verbleven.