Sołectwo Dobra obejmuje obręb wsi Dobra. Zajmuje powierzchnię 19,1 km². Graniczy z miastem Strzeleczki od zachodu i z miastem Krapkowice od wschodu, oraz z sołectwami (od północy, zgodnie z ruchem wskazówek zegara): Przysiecz, Gwoździce, Steblów, Komorniki, Łowkowice.
Wieś leży na Nizinie Śląskiej. Według podziału fizycznogeograficznego z 2017 dr. Krzysztofa Badory, Dobra znajduje się w granicach mikroregionów Równina Mosznej (318.55.9), Wysoczyzna Niemodlińska (318.55.6) i Dolina Dolnej i Środkowej Białej (318.55.8). W granicach administracyjnych wsi znajduje się wzniesienie Barania Góra.
Północna część wsi znajduje się w Obszarze Chronionego Krajobrazu Bory Niemodlińskie. Na południowy wschód od miejscowości znajduje się las Łowkowski Lasek.
Leży na wysokości ok. 170 m n.p.m. i ma typowo nizinne ukształtowane. Przez granice administracyjne wsi przepływa rzeka Biała. W Dobrej znajduje się wodospad na rzece Białej – wpada ona do Osobłogi, która to w pobliskich Krapkowicach wpada do Odry. Przy wodospadzie znajduje się sztuczne jezioro wraz z ośrodkiem kempingowym i infrastrukturą potrzebną kąpielisku.