Odry liegt in Tschechisch-Schlesien, eingebettet im Tal der Oder, die hier aus den Oderbergen kommend ins Kuhländchen fließt. Die Stadt breitet sich beiderseits des Flusses aus, mit dem Pohorschberg als markanter Erhebung im Südosten. Über die Staatsstraße I/47 ist sie mit Ostrava und Hranice verbunden, während die II/441 nach Potštát führt. Zu den umliegenden Orten zählen im Norden Vítovka und im Osten Pohoř, im Süden Vražné und im Westen Dvořisko.
Erstmals erwähnt wurde ein Ort am Pohoř im Jahr 1234 im Zusammenhang mit der Gründung des Klosters Tišnov. Nach der Zerstörung durch die Goldene Horde entstand um 1253 eine Burg als Schutz vor weiteren Einfällen. Unterhalb der Burg entwickelte sich ein Dorf namens Odra, das 1346 erstmals urkundlich genannt wurde. Die Stadtgründung nach Troppauer Recht folgte 1357 durch die Sternberger. Im 15. Jahrhundert gab es Grenzstreitigkeiten zwischen Mähren und Schlesien, die erst 1613 endgültig beigelegt wurden. Odry gehörte lange zu Österreichisch-Schlesien und war ein wichtiger Handelsplatz, bis Kriege und Epidemien im 17. Jahrhundert einen Niedergang einleiteten.
Die Stadt prägt ihr barockes Schloss, das 1730 anstelle einer älteren Burg entstand, sowie historische Bauwerke wie die Bartholomäuskirche mit ihrer mittelalterlichen Glocke. Auf dem Marktplatz stehen ein neoklassizistischer Brunnen und eine Mariensäule. Persönlichkeiten wie der Astronom Heinrich Jan Demel oder der Unternehmer August Herzmansky stammen aus Odry. Die Stadt gliedert sich in mehrere Ortsteile, darunter Tošovice und Loučky, und bewahrt damit ein Stück regionaler Geschichte.