Selama karirnya, Granqvist tampil sebagai pemain internasional penuh untuk Swedia antara tahun 2006 dan 2021. Ia berhasil mengumpulkan 88 caps untuk tim nasional dan mewakili negaranya dalam empat Kejuaraan Eropa UEFA serta Piala Dunia FIFA 2018. Ia juga menjadi kapten tim nasional Swedia antara tahun 2016 dan 2021. Namun, karena cedera, pertandingan internasional terakhirnya dimainkan pada tahun 2019. Pada tahun 2017, ia juga meraih penghargaan Guldbollen (Bola Emas), yang diberikan kepada pemain Swedia terbaik dalam setahun.
Dalam karir klubnya, Granqvist memulai karirnya di klub lokalnya, PÄarps GIF, sebelum kemudian pindah ke Helsingborgs IF. Ia menjadi kapten tim saat Helsingborg memenangkan gelar Piala Swedia ketiganya, dengan mengalahkan Gefle IF dengan skor 2-0. Granqvist juga pernah bermain untuk klub-klub seperti Wigan Athletic, Groningen, Genoa, dan Krasnodar sebelum kembali ke Helsingborg pada tahun 2018.
Selama karir internasionalnya, Granqvist tampil untuk tim nasional Swedia. Ia menjadi bagian dari skuad Swedia dalam UEFA Euro 2008 dan Piala Dunia FIFA 2018. Pada Piala Dunia 2018, Granqvist menjadi kapten tim Swedia dan mencetak gol penalti dalam kemenangan 1-0 melawan Korea Selatan. Ia juga mencetak gol penalti lainnya dalam kemenangan 3-0 melawan Meksiko. Meski Swedia akhirnya tersingkir di perempat final oleh Inggris, Granqvist tampil penuh 90 menit dalam setiap pertandingan timnas Swedia.
Pada bulan Juli 2021, Granqvist secara resmi mengumumkan pensiun dari sepak bola setelah bermain di enam liga yang berbeda selama karirnya. Meski ingin melanjutkan karirnya, ia mengaku tubuhnya tidak lagi mampu. Setelah pensiun, Granqvist tetap berkecimpung di dunia sepak bola sebagai direktur olahraga Helsingborgs IF.