คลื่นสึนามิ เกิดขึ้นจากการกระทบกระเทือนที่ทำให้น้ำปริมาณมากเกิดการเคลื่อนตัว เช่น แผ่นดินไหว แผ่นดินถล่ม หรืออุกกาบาตพุ่งชน
เมื่อแผ่นดินใต้ทะเลเกิดการเปลี่ยนรูปร่างอย่างกระทันหัน จะทำให้น้ำทะเลเกิดเคลื่อนตัวเพื่อปรับระดับให้เข้าสู่จุดสมดุลและจะก่อให้เกิดคลื่นสึนามิ การเปลี่ยนรูปร่างของพื้นทะเลมักเกิดขึ้นเมื่อเกิดแผ่นดินไหวเนื่องจากการขยับตัวของเปลือกโลก ซึ่งจะเกิดบริเวณที่ขอบของเปลือกโลกหลายแผ่นเชื่อมต่อกันที่เรียกว่า รอยเลื่อน (fault) เช่น
บริเวณขอบของมหาสมุทรแปซิฟิก นอกจากแผ่นดินไหวแล้ว ดินถล่มใต้น้ำที่มักเกิดร่วมกับแผ่นดินไหวสามารถทำให้เกิดคลื่นสึนามิได้เช่นกัน
นอกจากการกระทบกระเทือนที่เกิดใต้น้ำแล้ว การที่พื้นดินขนาดใหญ่ถล่มลงทะเล หรือการตกกระทบพื้นน้ำของเทหวัตถุ ก็สามารถทำให้เกิดคลื่นได้ คลื่นสึนามิที่เกิดในรูปแบบนี้จะลดขนาดลงอย่างรวดเร็วและไม่มีผลกระทบต่อชายฝั่งที่อยู่ห่างไกลมากนัก อย่างไรก็ตาม ถ้าแผ่นดินมีขนาดใหญ่มากพอ อาจทำให้เกิด เมกะสึนามิ ซึ่งอาจมีความสูงร่วมร้อยเมตรได้