Zemianske Kostoľany ležia na ľavom brehu rieky Nitry, 5 km južne od Novák. Na západe je chotár obce ohraničený južnými výbežkami Malej Magury, na východe svahmi a hrebeňmi Vtáčnika. Cez obec preteká potok Lazný z Vtáčnika a ďalší potok z Lelovskej doliny. Oba potoky v chotári obce ústia do rieky Nitry.
Zemianske Kostoľany sa nachádzajú v okrese Prievidza v Trenčianskom kraji.
Ku dňu 31. 12. 2022 evidovala obec 1741 obyvateľov.
