In 2015, Šutalo joined RNK Split from his starting club NK Neretva and started playing for their under-15 team.
In 2017, Šutalo joined youth team of Osijek and after a year he debuted for the first team under Zoran Zekić. He made his Prva HNL debut on 20 October 2018 in a 4–1 victory over Rudeš.
On 30 January 2020, Šutalo joined Serie A side Atalanta for a €5 million fee.[4] He made his debut for the club in a 2–0 win over Napoli on 2 July, coming on for Rafael Tolói in 89th minute.[5] He earned his first start three days later in a 1–0 win over Cagliari, coming off for Tolói in 83rd minute.[6]
On 14 January 2021, he scored his debut goal for the club, as Atalanta defeated Cagliari 3–1 in the Coppa Italia.[7] In total, he played 14 matches in Serie A and 3 matches in the Coppa Italia.
Hellas Verona
On 25 August 2021, Šutalo joined Serie A side Hellas Verona on loan. He made his debut two days later against Inter Milan in a 3–1 defeat. In total, he played 25 matches in Serie A and one match in the Coppa Italia.
Dinamo Zagreb
Šutalo joined Prva HNL club Dinamo Zagreb on a permanent deal on 21 June 2022 for a term of five years.[8]
Standard Liège
On 8 July 2024, Šutalo moved to Standard Liège in Belgium on a five-year deal.[9]