Allievo di Carducci a Bologna, dovette impiegarsi come insegnante privato per far fronte alla difficile situazione economica della famiglia. Su interessamento di Carducci ottenne un posto in un liceo di Firenze; nel 1878 vinse una borsa triennale presso la Scuola italiana di archeologia, che gli consentì di soggiornare a Pompei, Roma e Atene. Successivamente ottenne l’incarico di ispettore presso la Galleria degli Uffizi e, tra il 1881 e il 1885, venne inviato dal Ministero della Pubblica istruzione in missione di ispezione presso diversi siti italiani. Diventato professore di Archeologia presso l’Università di Pisa, nel 1899 fu chiamato a Padova, dove rimase fino al 1907 ricoprendo anche la carica di Soprintendente alle Antichità del Veneto, seguendo l’allestimento del Museo di Este e di Adria. Nel 1907, si trasferì a Bologna, dove tenne i corsi di Archeologia e di Antichità umbro-etrusco-galliche e ricoprì la carica di soprintendente alle Antichità e direttore del Museo civico.