Piliakalnis (Pilies Kalnas, Kryžių Kalnas) įrengtas atskiroje kalvoje Kulpės kairiajame krante. Aikštelė ovali, orientuota R-V kryptimi, 17 m ilgio, 25 m pločio. Jos R gale supiltas 13 m ilgio, 2,5 m aukščio, 14 m pločio pylimas, kurio išorinis 7 m aukščio šlaitas leidžiasi į papėdėje esantį 10 m pločio, 0,5 m gylio griovį, už kurio supiltas 19 m pločio, 2 m aukščio iš išorės pylimas. Aikštelės V gale supiltas 17 m ilgio, 3 m aukščio, 15 m pločio pylimas. Šlaitai statūs, 6-8 m aukščio.
Piliakalnis apardytas nuo XIX a. vidurio jame statant ir tarybiniu laikotarpiu 1961, 1975 m. griaunant kryžius, kurių čia dabar yra daugiau kaip 100 tūkst. Ant R pylimo stovėjo koplyčia. Visas piliakalnio paviršius užstatytas kryžiais, išilgai per jį eina takas.
Piliakalnis žinomas ir Domantų vardu.
R, V ir Š papėdėse, 3 ha plote yra papėdės gyvenvietė (tyrinėta 1990, 1991 ir 1993 m.). Joje aptiktas iki 1 m storio XIII-XIV a. kultūrinis sluoksnis su židiniais, sidabrine sege, geležiniais peiliais, kirstukais, strėlės antgaliu, stikliniu karoliu, akmeniniu galąstuvu, lygia ir žiesta keramika, gyvulių kaulais, molio tinku. 200 m į PR yra IX-XII a. senkapis.
1999 m. piliakalnio R šlaite B. Salatkienė ištyrė 30 m2 dydžio plotą, aptiko iki 10 cm storio kultūrinį sluoksnį be radinių.
Piliakalnyje stovėjo 1348 m. minima Kulių pilis.
Piliakalnis datuojamas I tūkst. - XIV a.
Pasiekiamas iš Šiaulių-Joniškio plento (A12) pasukus plentu į dešinę (ŠR) Meškuičių link ir pavažiavus 1,8 km (yra 100 m į dešinę (PR)).
Lit.: Покровский, 1899, c. 55; Krzywicki, 1906, p. 9, 12-13, 21, 27, 39, 58, 75; Kšivickis, 1928, p. 9, 12-13, 20, 27, 41, 59, 76; Крживицкий, 1909, с. 82, 85-86, 91, 97, 107, 119; Butėnas, 1922, p. 593-596; LAA, p. 75-76 (Nr. 269); Dakanis, 1992b, p. 100; Stankus, 1992; Salatkienė, 1994; 2000a; Mačiulis, 2000; Baranauskas, 2003, p. 63, 830.