Nguyên nhân phổ biến nhất của sóng thần là do động đất dưới đáy biển ở đáy đại dương. Các vụ lở đất ở tàu ngầm và núi lửa phun trào cũng gây ra sóng thần. Trong những trường hợp rất hiếm, một thiên thạch va chạm vào đại dương dẫn đến sóng thần. Bất kỳ sự kiện nào làm thay đổi một lượng nước đáng kể trong thời gian ngắn đều có thể gây ra sóng thần.
Không phải tất cả các trận động đất dưới biển đều gây ra sóng thần. Trận động đất phải làm cho một phần của lớp vỏ nâng lên như một mái chèo khổng lồ, làm dịch chuyển một khối lượng lớn nước. Nếu trận động đất xảy ra sâu trong lớp vỏ hoặc lớp vỏ bị dịch chuyển không đáng kể, thì sóng thần sẽ không xảy ra. Các trận động đất nông, mạnh tạo ra nhiều sóng thần hơn. Sóng thần rất khó phát hiện trên đại dương vì sóng không dâng quá xa so với bề mặt đại dương. Khi sóng thần tiến đến vùng nước nông hơn, nước sẽ chồng chất lên và gây ra một con sóng cao hơn nhiều.
Núi lửa phun trào cũng gây ra sóng thần, chẳng hạn như sóng tạo ra khi núi lửa Krakatoa của Indonesia phun trào vào năm 1883. Khí và đá siêu nóng từ núi lửa chảy ra biển, làm dịch chuyển một lượng nước khổng lồ và gây ra sóng thần. Những con sóng này được cảm nhận ở tận Nam Phi. Nhiều ngôi làng đã bị phá hủy bởi những con sóng này và hơn 36.000 người đã chết.