Piliakalnis (Bonos Pilis) įrengtas iš aukštumos pakraščio suformuotoje atskiroje kalvoje, Dūkštos dešiniajame krante. Aikštelė ovali, pailga R-V kryptimi, 65x40 m dydžio. Papėdėje aplink piliakalnį iškastas 360 m ilgio, 30 m pločio, 4 m gylio (Š pusėje) griovys. Už griovio supiltas 270 m ilgio, 4 m aukščio, 25 m pločio (R pusėje) pylimas. Jame yra dvi 15 ir 60 m pločio spragos. P pusėje šio 10 m pločio pylimo išorinis 3 m aukščio šlaitas leidžiasi į antrą 5 m pločio, 1 m gylio griovį. Šlaitai statūs, 14-18 m aukščio.
Aikštelė XIX a. pabaigoje kasinėta nežinomo asmens. Šie neužlyginti kasinėjimai labai pakeitė jos išvaizdą. Dabar ji perkirsta 12 m pločio, 2 3 m gylio grioviu, einančiu Š-P kryptimi, ir 8 m pločio, 1,5 m gylio grioviu, einančiu nuo didžiojo griovio R-V kryptimi, bei tokiu pat trumpesniu grioveliu PV aikštelės dalyje. Iš didžiojo griovio žemės mestos į šonus ir R pusėje sudaro iki 1,5 m aukščio, 8 m pločio pylimą. Piliakalnis apaugęs retais lapuočiais medžiais, PV papėdėje pastatytas akmeninis paminklas, Š šlaite įrengti laiptai.
Į ŠR nuo piliakalnio yra papilys (N54°52'04.1"; E25°03'50.0"). Jo aikštelė turėjo būti pailga PV-ŠR kryptimi, tačiau tikslesnis jos dydis neaiškus, nes papilys labai suardytas miestelio pastatų. Geriau išliko tik jo P pusė. Čia į R nuo piliakalnio PR papilio papėdėje yra iškastas 6 m pločio, 1 m gylio griovys, už kurio supiltas 2 m aukščio, 13 m pločio pylimas 4 m aukščio išoriniu šlaitu. Išlikusio pylimo ilgis - 120 m. Pagal jį galima apytiksliai spėti, kad papilio aikštelė buvo apie 200 m ilgio ir 120 m pločio.
Į Š ir PV nuo piliakalnio, 1 ha plote yra papėdės gyvenvietė.
1971-1973 m. R. Kulikauskienė aikštelėje ištyrė 382 m2 plotą. Aptiktas iki 5,4 m storio kultūrinis sluoksnis, kurį sudaro 3 horizontai. Apatiniame horizonte rasta stulpaviečių, brūkšniuotos keramikos. XIV a. virš šio sluoksnio supiltas iki 1,3 m storio molio sluoksnis. Viduriniame horizonte, suformuotame 1365 m. gaisro, aptikta sudegusių medinių pastatų liekanų, geležinė kilpa, sklendė, raktas, kastuvo apkaustas, pjautuvas, žirklės, žiestos keramikos, grūdų, 12 sudegusių avių griaučių. Gaisro liekanos užplūktos iki 2 m storio molio sluoksniu. Viršutiniame horizonte rastos sudegusio pastato su moline krosnimi liekanos, geležiniai noragai, pjautuvai, dalgiai, kaplys, žalvarinis kryželis-enkolpionas, skardinė segė, apyrankė, varpo liekanos, žiestos keramikos, grūdų, kiaulės ir katės griaučiai. Šis sluoksnis susidaręs 1390 m. sudeginus pilį. Nustatyta, kad po 1365 m. pilis buvo apjuosta medine moliu tinkuota gynybine siena.
Piliakalnyje stovėjo Maišiagalos pilis, kurią 1365 m. rugpjūčio antroje pusėje puolė, užėmė ir sudegino nuo Vilniaus su Ordino kariuomene žygiavęs Kęstučio sūnus Butautas. Pilis buvo atstatyta (minima nuo 1377 m.). 1390 m. Ordinas vėl užėmė ir sudegino pilį, iš jos išsivesdamas 1340 belaisvių.
Piliakalnis datuojamas I tūkst. pradžia ir XIV a.
Pasiekiamas Maišiagaloje pavažiavus Mokyklos, Vilniaus ir Algirdo gatvėmis (iki jos galo ties tvenkiniu (yra 200 m į PV nuo bažnyčios)).
Lit.: Покровский, 1893, c. 69; Kulikauskienė, 1972; 1974; 1998b; Volkaitė-Kulikauskienė, 1974b; 1976; LAA, p. 102 (Nr. 408); Balčiūnas, Dakanis, Zabiela, 1988, p. 177; Zabiela, 2001d, p. 24-25, 28; Baranauskas, 2003, p. 66, 83-84.