Vlucht 605 landde meer dan 640 m voorbij de verplaatste drempel van de baan, met een snelheid van 150 knopen (280 km/u; 170 mph), na een nadering van IGS-baan 13. Tropische Storm Ira genereerde op die baan zijwinden van 37 km/u (23 mph) met een snelheid van 20 knopen, windvlagen tot 70 km/u (38 knopen; 44 mph), vanuit een koers van 070 graden.
De piloten ontvingen tijdens de laatste kilometer voor de landing diverse door de computer gegenereerde waarschuwingen voor windschering en glide slope-afwijkingen, en namen ernstige luchtsnelheidsschommelingen waar. De gezagvoerder, die de besturende piloot was, schakelde de automatische piloot uit en begon het vliegtuig handmatig te besturen. Hij schakelde ook de auto-throttle uit, omdat hij niet tevreden was over de prestaties daarvan. Nadat het vliegtuig was geland, nam de eerste officier de controle over het vliegtuig over en probeerde het vliegtuig op de middellijn te houden. Zijn ingrepen waren echter te hevig en de gezagvoerder was genoodzaakt hem te helpen. Ondertussen verhoogde de gezagvoerder per ongeluk het motorvermogen in plaats van de straalomkeerders te activeren. De automatische remmen waren alleen ingesteld op het niveau nummer twee en werden vervolgens seconden na de landing uitgeschakeld vanwege de toename van het vermogen. De speedbrakes werden kort uitgeschoven, maar daarna weer ingetrokken, ook vanwege de toename van het vermogen. Hierdoor ging het vliegtuig “zweven”, waardoor de remmen niet meer werkten totdat de speedbrakes weer werden uitgeschoven. Toen de eerste officier uiteindelijk merkte dat de automatische remmen waren uitgeschakeld en de straalomkeerders niet waren uitgeklapt, paste de gezagvoerder onmiddellijk handmatig remmen en straalomkeer toe.
De gezagvoerder draaide het vliegtuig opzettelijk naar links toen hij zich realiseerde dat het vliegtuig de landingsbaan zou overschrijden en het naderingsverlichtingssysteem (ALS) voor baan 31 zou raken. Die actie veroorzaakte een “grondlus”, waardoor het vliegtuig van de linkerkant van de baan in Victoria Harbour gleed, waardoor een botsing met de ALS voor baan 31 werd voorkomen. Het vliegtuig kwam tot stilstand in ondiep water, met een koers van bijna 180 graden uit de richting van baan 13.
Een piloot van British Airways had geweigerd de nadering naar Kai Tak baan te maken 13 minuten voordat de gezagvoerder van CAL 605 besloot het te proberen.
Het onderzoek wees uit dat het ongeluk werd veroorzaakt doordat de gezagvoerder verzuimde de verplichte doorstartprocedure te starten toen hij de ernstige luchtsnelheidsfluctuaties waarnam, in combinatie met de waarschuwingen voor windschering en glide slope deviatie. De eerste officier bleek ook niet over voldoende ervaring te beschikken om het vliegtuig te besturen tijdens de landing bij zijwind. China Airlines werd ook bekritiseerd omdat het geen duidelijke landingsprocedure voor zijwind in zijn handleidingen had opgenomen om de piloten te helpen. Het onderzoek beval de luchtvaartmaatschappij aan haar handleidingen en vliegtraining te herzien.