Kapitanleutnant Günther Prien, komandan kapal selam Jerman U-47, memanfaatkan kelemahan ini dan memasuki pelabuhan sesaat sebelum tengah malam pada 13 Oktober 1939.
Dia menemukan Royal Oak bersandar di jangkarnya, yang tidak menyadari bahaya apapun.
Empat torpedo pertama dilepaskan dari kapal selam Jerman yang hanya menyebabkan kerusakan kecil, karena beberapa melesat dan malfungsi.
Tetapi kru Royal Oak, yang kebanyakan tidur di bawah dek di tempat tidur gantung, mengira hanya terjadi ledakan kecil di dalam.
Mereka tidak membayangkan bahwa mungkin saja mereka sedang diserang.
Lalu, Prien melanjutkan mengisi kembali tabung torpedonya dan menyerang lagi.
Kali ini tiga ledakan di tengah kapal menyegel nasib Royal Oak.
Sebuah lobang besar merobek sisi kapal.
Prien dengan cepat mulai berguling, kemudian magasin cordite terbakar, lalu mengirimkan bola api yang melesat ke seluruh kapal.