* Penampilan dan gol di klub senior hanya dihitung dari liga domestik dan akurat per 11 Maret 2024 ‡ Penampilan dan gol di tim nasional akurat per 21 Maret 2024
Ia memulai kariernya di Serie A bersama Atalanta pada tahun 2007, penampilan apiknya bersama Atalanta membawa Bonaventura hijrah ke AC Milan pada tahun 2014 dengan nilai transfer €7 juta. Ia menghabiskan enam musim bersama klub tersebut, sebelum kemudian pindah ke Fiorentina pada tahun 2020.
Bonaventura telah menjadi bagian dari skuad tim junior Italia sejak tahun 2008. Ia melakukan debut internasional di tim nasional senior Italia pada 31 Mei 2013, dalam sebuah pertandingan persahabatan menghadapi San Marino.
Karier klub
Atalanta
Mengawali karier junior bersama tim San Francesco 93, Bonaventura kemudian hijrah ke Tolentino, di mana ia mendapat perhatian dari seorang pencari bakat klub Atalanta, Antonio Bongiorni. Ia akhirnya melakukan debut bersama tim senior klub tersebut pada 4 Mei 2008, dalam pertandingan melawan Livorno. Itu adalah satu-satunya pertandingan yang ia mainkan pada musim 2007–08. Ia baru bermain kembali pada 9 November 2008, dalam pertandingan melawan Fiorentina.
Pada 13 Januari 2009, Atalanta mengumumkan bahwa Bonaventura akan bergabung dengan Pergocrema dengan status pinjaman untuk sisa musim 2008–09.[4] Lima hari kemudian, ia membuat debut dan mencetak gol untuk Pergocrema dalam pertandingan melawan Sambenedettese. Ia tampil di tiga pertandingan lain sebelum kemudian kembali ke Atalanta.
Bonaventura harus menunggu hingga bulan Januari 2010 untuk bermain kembali, kali ini dalam pertandingan melawan Palermo. Pada 1 Februari 2010, ia dipinjamkan ke klub Serie B, Padova hingga akhir musim.[5] Ia membuat debut untuk Padova pada 20 Februari 2010, dalam pertandingan melawan Triestina. Namun, di akhir musim, Padova memutuskan untuk tidak membeli Bonaventura.[6] Ia pun kembali ke Atalanta dan menandatangani perpanjangan kontrak hingga tahun 2015.[7]
Pada 9 November 2010, Bonaventura mencetak gol pertama untuk Atalanta, dalam pertandingan melawan Modena. Ia pun menjadi pemain kunci Atalanta pada Serie B musim 2010–11 dengan mencetak sembilan gol. Atalanta akhirnya berhasil menjadi juara Serie B dan mendapat tiket promosi ke Serie A. Pada 11 April 2012, Bonaventura akhirnya mencetak gol pertamanya di kompetisi tertinggi Italia tersebut dalam pertandingan menghadapi Napoli. Ia pertama kali mencetak dua gol dalam satu pertandingan pada 3 Maret 2013, dalam pertandingan melawan Siena yang berakhir dengan kemenangan 2–0.[8]
AC Milan
Musim 2014–15
Pada 1 September 2014, AC Milan merilis berita di situs resminya bahwa mereka telah mendapatkan tanda tangan Bonaventura untuk bermain di klub itu sampai dengan 30 Juni 2019.[9] Pada 14 September 2014, ia mencetak gol pada laga debutnya bersama Milan saat mengalahkan Parma dengan skor 5–4.[10] Bonaventura mencetak gol keduanya untuk Milan pada 29 Oktober saat melawan Cagliari dan terpilih sebagai pemain terbaik dalam pertandingan itu. Pada 12 Desember, Bonaventura mencetak gol dengan sundulan kuat dan memberikan assist untuk gol Jérémy Ménez saat Milan mengalahkan Napoli 2–0, Bonaventura terpilih sebagai pemain terbaik dalam pertandingan itu dan pada pekan berikutnya saat melawan Roma.[11] Dalam pertandingan berikutnya saat melawan Sassuolo, ia mencetak gol tetapi kemudian mendapat kartu kuning kedua dan dikeluarkan dari lapangan. Ini adalah pertama kalinya dalam kariernya dia dikeluarkan dari lapangan.[12] Pada 30 Mei, dia mencetak dua gol saat melawan mantan timnya, Atalanta dalam kemenangan 3–1. Bonaventura menyelesaikan musim pertamanya di Milan dengan mencetak 7 gol dan 4 assist di semua kompetisi.
Musim 2015–16
Bonaventura melakukan debutnya di musim ini pada 23 Agustus 2015 saat Milan kalah 2–0 dari Fiorentina.[13] Pertandingan berikutnya saat melawan Empoli, Bonaventura masuk sebagai pemain pengganti untuk Suso di menit ke-55 dan berhasil memberikan assist untuk gol kemenangan yang dicetak oleh Luiz Adriano dari sepak pojok 15 menit kemudian.[14] Pada 19 September, Bonaventura memberikan assist untuk gol pertama Carlos Bacca dan mencetak gol langsung dari tendangan bebas dalam kemenangan 3–2 atas Palermo. Dia juga membuat assist dan mencetak gol dalam pertandingan berikutnya Milan, berakhir dengan kemenangan 3–2 atas Udinese. Sekali lagi, dia memberikan assist untuk gol Carlos Bacca dan Philippe Mexès saat melawan Lazio dalam kemenangan tandang 3–1 pada 1 November. Dia terus tampil baik di bawah pelatih Siniša Mihajlović dan menjadi pemain inti bagi timnya sepanjang musim. Setelah absen dalam hasil imbang 0–0 melawan mantan timnya, Atalanta karena hukuman, dia mencetak gol pembuka dalam kemenangan 4–1 atas Sampdoria pada 28 November. Dia mencetak gol lagi dalam pertandingan berikutnya pada 1 Desember dalam kemenangan 3–1 atas Crotone di ajang Piala Italia, melalui tendangan bebas spektakuler dari jarak sekitar 18 meter. Pada 20 Desember, dia memberikan assist untuk gol Carlos Bacca dan mencetak gol terakhir saat Milan mengalahkan Frosinone 4–2.[15] Pada 17 Januari 2016, dia memberikan assist lain untuk Carlos Bacca saat Rossoneri mengalahkan Fiorentina 2–0.[16] Dia mengakhiri musim dengan catatan 7 gol dan 8 assist di semua kompetisi saat Milan finis di peringkat ke-7 di Serie A, dan kalah dalam final Piala Italia melawan Juventus, kalah 1–0 di babak perpanjangan waktu.[17][18]
Musim 2016–17
Di awal musim, Bonaventura mengganti nomor punggungnya dari 28 menjadi 5. Dia memulai pertandingan pembuka Milan musim ini di Serie A saat melawan Torino. Di babak kedua pertandingan, dia dilanggar di dalam kotak penalti oleh Joel Obi dan Milan diberi penalti yang dikonversi oleh Carlos Bacca untuk melengkapi hattrick-nya dalam kemenangan 3–2 untuk Milan.[19] Dia mencetak gol pertamanya di musim ini pada 2 Oktober dalam comeback Milan yang mengesankan melawan Sassuolo yang berakhir dengan skor 4–3.[20] Minggu berikutnya, dia membuat assist untuk gol M'Baye Niang saat melawan Chievo Verona dalam kemenangan 3–1.[21] Dia juga membuat assist untuk gol pertama Suso dalam hasil imbang 2–2 melawan rival sekota, Inter.[22] Pada 23 Desember 2016, Bonaventura mencetak gol penyama kedudukan di laga Piala Super Italia saat melawan Juventus; dia kemudian berhasil mengeksekusi penalti di babak adu penalti, membantu Milan meraih kemenangan 4–3.[23] Dia menandatangani perpanjangan kontrak hingga 2020 dengan Milan pada 18 Januari 2017.[24] Pada 29 Januari, Bonaventura mengalami cedera dalam pertandingan melawan Udinese yang membuatnya absen selama sisa musim setelah operasi pada cedera paha;[25] sebelumnya, di pertandingan itu ia sempat mencetak gol untuk Milan, namun laga berakhir dengan kelelahan 2–1.[26] Dia kembali ke tim untuk pertandingan terakhir musim ini saat melawan Cagliari pada 28 Mei, tetapi tidak dapat tampil selama pertandingan saat Milan kalah 2–1.[27][28] Dia mengakhiri musim dengan catatan 5 gol dan 4 assist dalam 22 penampilan di semua kompetisi saat Milan finis di urutan ke-6 di Serie A, tersingkir dari Piala Italia di perempat final oleh juara akhirnya Juventus, dan memenangkan Piala Super Italia.
Musim 2017–18
Bonaventura memainkan pertandingan pertamanya di Eropa dalam kemenangan 1–0 saat melawan CS U Craiova di leg pertama pertandingan kualifikasi Liga Eropa UEFA pada 27 Juli 2017.[29] Dia juga tampil di leg kedua pada minggu berikutnya, di mana dia mencetak gol pembuka dalam kemenangan 2–0.[30] Itu adalah gol pertamanya di kompetisi Eropa dan setelah itu dia terpilih sebagai Pemain Terbaik atas penampilannya.[31] Pada 17 Agustus, ia mendapat cedera di akhir pertandingan playoff liga Europa saat melawan Skhëndija.[32] Pada 14 September 2017, Bonaventura membuat penampilannya yang ke-100 bersama Milan, dalam kemenangan tandang 5–1 melawan Austria Wien.[33] Gol pertamanya di Serie A musim ini datang saat melawan Benevento pada 3 Desember.[34] Minggu berikutnya, dia mencetak dua gol dalam kemenangan 2–1 melawan Bologna.[35] Pada 6 Januari 2018, ia membuat penampilannya yang ke-100 di Serie A untuk Milan dalam kemenangan 1–0 atas Crotone.[36] Dia memainkan pertandingannya yang ke-200 di Serie A dalam kemenangan 2–1 atas Cagliari pada 21 Januari 2018.[37]
Musim 2018–19
Bonaventura mencetak gol dalam pertandingan pembuka Milan musim ini saat melawan Napoli pada 25 Agustus.[38] Selanjutnya, dia mencetak gol ke gawang Atalanta dan Chievo Verona pada 23 September dan 7 Oktober 2018. Pada bulan Oktober 2018, ia mengalami cedera lutut yang diperkirakan membuatnya absen selama sembilan bulan.[39] Bonaventura tidak kembali berlatih bersama tim utama selama sisa musim.
Musim 2019–20
Bonaventura membuat penampilan pertamanya musim ini di pertandingan pekan ke lima Serie A 2019–2020 pada 26 September 2019, 11 bulan setelah penampilan terakhirnya untuk klub. Pada 23 November 2019, ia mencetak gol pertamanya sejak 7 Oktober 2018 saat bermain imbang 1–1 melawan Napoli. Dia mencetak gol kemenangan saat melawan Bologna dalam kemenangan 3–2 dua minggu kemudian.[40] Dia dilepas oleh Milan pada akhir musim setelah kontraknya berakhir. Penampilan terakhirnya untuk klub adalah sebagai pemain pengganti dalam kemenangan 3–0 melawan Cagliari di pekan terakhir Serie A musim ini, menggantikan Rafael Leão di menit ke-38.
Fiorentina
Pada bulan September 2020, Bonaventura bergabung dengan Fiorentina dan menandatangani kontrak berdurasi dua tahun.[41]
Karier internasional
Di level internasional, setelah tampil bersama tim nasional Italia di level U-19 dan U-20, Bonaventura melakukan debutnya dengan tim senior pada 31 Mei 2013, dalam sebuah pertandingan persahabatan yang berakhir dengan kemenangan 4–0 melawan San Marino di bawah arahan pelatih Cesare Prandelli.[42] Penampilan keduanya untuk Italia datang 16 bulan kemudian, dalam pertandingan persahabatan melawan Albania, di mana ia berhasil memberikan assist untuk gol kemenangan Stefano Okaka dalam kemenangan 1–0.[43] Pada Mei 2016, ia dipilih dalam skuad sementara 30 pemain Italia untuk UEFA Euro 2016 yang dipilih oleh Antonio Conte.[44] Namun, ia kemudian tidak termasuk dalam skuad 23 pemain untuk turnamen tersebut.[45]
Pada usia 34 tahun, satu bulan, dan 22 hari, Bonaventura menjadi pemain tertua yang mencetak gol debutnya untuk Italia ketika ia mencetak gol ke gawang Malta dalam kualifikasi Euro 2024 di Stadion San Nicola, Bari pada 14 Oktober 2023.[46][47]
^"Calciomercato" (dalam bahasa Italia). Calcio Padova. 23 Juni 2010. Diarsipkan dari versi asli tanggal 26 September 2011. Diakses tanggal 24 Juni 2010.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)
^"ITA – ESP 1:2 (0:0)"(PDF). Pescara 2009. 4 Juli 2009. Diarsipkan dari versi asli(PDF) tanggal 15 Februari 2012. Diakses tanggal 10 April 2014.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)