Obec leží v južnej časti Považského Inovca a sčasti na Nitrianskej pahorkatine, v údolí potoka Bojnianka, v nadmorskej výške asi 211 metrov. Súčasťou Považského inovca je taktiež dominantný vrch Marhát (758 metrov) nachádzajúci sa neďaleko našej obce; pohorie oddeľuje stredné úseky povodia Váhu a Nitry. Chotár obce v dĺžke asi 9 km a šírke zhruba 4,5 km sa tiahne v smere juhovýchod – severozápad. Údolná rovina pozdĺž Bojnianky je široká 300 až 500 metrov. Severozápadnú polovicu tvoria lesy a juhozápadnú orná pôda. Horská časť katastru obce Bojná je pramennou oblasťou. Tu v západnom úpätí vrchu Úhrad vo výške 370 metrov má prameň potok Bojnianka, ktorá je osou celého chotára, a neskôr je pravostranným prítokom rieky Nitry.
Cez Bojnú, ktorá je súčasťou tzv. Mikroregiónu pod Marhátom, prechádza cesta z Topoľčian do Piešťan; je viac ako pravdepodobné, že niekde v týchto miestach bol kedysi aj dôležitý staroveký a neskôr aj stredoveký prechod zo stredného Považia na stredné Ponitrie.