Ostrach liegt zwischen Donau und Bodensee, Sigmaringen und Ravensburg, Bad Saulgau und Pfullendorf am gleichnamigen Bach, der hier duch eine Engstelle zwischen zwei Moränenrücken des Rheingletschers aus der letzten Eiszeit hindurch fließt und das Burgweiler-Pfrunger Ried zur Donau hin entwässert. Die Landschaft ist hügelig und waldreich. Durch Kiesabbau in zwei Kieswerken sind Baggerseen nördlich und südlich des Ortsteils Jettkofen entstanden.