土石流に対する対策は渓流に砂防ダムの建設などのハード面によるものと、法律や条例による開発制限などのソフト面によるものに分けられる。
ハード面.
砂防ダム（治山ダム）.
土石流は渓流沿いに発生することから、土石流が流下する渓流に土砂を受け止めるダム（英語：check dam）を建設する方法が最もよく採用される。ダムは土石を直接受け止めるほかにもダム上流の勾配を緩くすることで、土石流の流下速度軽減や堆積を促して威力を軽減する。また、河床や両岸の浸食の軽減の効果もある。
日本においては砂防法に基づき国土交通省が管轄し、各地の地方整備局や都道府県の土木系の部署が建設するものを「砂防堰堤」、森林法に基づき林野庁が管轄し、各地の森林管理署や都道府県の林業系の部署が建設するものと「治山ダム」などとして分けるが、構造物の形はほぼ同じである（以下、特に区別する必要がない場合は砂防ダムもしくはダムに統一する）。ダムの規模は砂防ダムの方が大きいことが多いが、火山地帯や河川の大きな支流に設けられる治山ダムにも非常に大きなものがある。事業は一般に民有地は都道府県、国有地は国が行う。ただし事業規模が大きいものや難工事が予想される民有地の件では国が直轄代行事業で行うことがあり、逆に民家等がなく僅かな資産を守るために行う事業では国有地内の事業を都道府県が行うこともある。
ダムの各種数値には設計根拠がある。たとえば、堤高は渓流内に堆積する土砂の量を受け止めきれるかどうか、また土石で満杯になったときに上流側の渓流勾配を十分緩和できるかどうかで決められる。提体の厚みは渓流内に堆積する転石の大きさや土質を根拠に決定され、転石の大きさが大きいほど提体を丈夫にするために厚くする。提体の断面は一般に台形であるが、安定計算の許す限り急傾斜に作ることで土石の流下による提体の損傷を低減するような形状になっており、一般にみるような貯水用のダムとは見た目も異なっている。水通しの断面積は想定される最大の洪水量を通過させることができるように設定され、想定以上の洪水が起こった場合にも極力流水を両岸に当てないように袖部に傾斜を設けることもある。