Pivarić joined the Dinamo Zagrebyouth academy at a young age. He was promoted to the first team during the spring of 2008. He went out on loan to Dinamo feeder club Lokomotiva Zagreb that same year, making 13 appearances in his first season with the Lokosi. In January 2009, he signed a seven-and-a-half-year contract with Dinamo Zagreb, spending until the end of the 2011–12 season on loan at Lokomotiva.
In January 2012, Pivarić rejoined the senior squad at Dinamo. He made his senior debut for Dinamo on 25 February 2012, in a 0–3 win over Karlovac. His first goal for the Modri came in a 1–1 draw with Rijeka on 21 April 2012.
In a friendly match against Norwegian side Strømsgodset in January 2016, Pivarić sustained extensive ligament damage to his knee, forcing him out for the remainder of the 2015–16 season and missing out on probable UEFA Euro 2016 national team selection.[5] Pivarić made his return on 6 July 2016, in a 1–0 pre-season friendly victory over Copenhagen.[6]
Dynamo Kyiv
On 8 August 2017, Pivarić signed a three-year contract with Ukrainian club Dynamo Kyiv.
Lokomotiva Zagreb
On 1 October 2020, Pivarić returned club Lokomotiva Zagreb as a free transfer.
Retirement
On 1 July 2023, Pivarić announced his retirement from football aged 34.
In May 2018 he was named in Croatia's preliminary 32 man squad for the 2018 World Cup in Russia.[7] Throughout the tournament Ivan Strinić, Croatia's first choice left back, was battling injuries mostly due to his team playing three consecutive extra time matches to get to the final. This allowed Pivarić a great deal of playtime in Croatia's run to the 2018 World Cup Final. He earned a total of 26 caps, scoring no goals. His final international was an October 2018 friendly against Jordan.[8]