Malinovskyi began his career at local side Polissya Zhytomyr under the management of Serhiy Zavalko.[4] On 1 September 2012, he played on loan for Sevastopol, signing a one-and-a-half-year contract.[5]
On 1 January 2016, Malinovskyi was on loan to Belgian side Genk until the end of the season. He debuted for the club in the Belgian Cup semi-final against Standard Liège and spent 72 minutes on the field. Altogether, during the loan at the Belgian club, Malinovskyi played 41 games in all tournaments, in which he scored 13 goals and made eight assists. On 29 May 2017, it was announced that Genk signed Malinovskyi permanently on a four-year contract.
Atalanta
On 16 July 2019, Malinovskyi signed for Atalanta for €13.7 million.[6] On 22 October 2019, he scored his first goal for Atalanta in the UEFA Champions League game against Manchester City.[7] Malinovskyi was named Player of the Month by Atalanta supporters.[8] He scored his first Serie A goal on 7 December 2019 in a match against Hellas Verona.[9][10]
On 24 June 2020, Malinovskyi scored the equalizing goal in a 3–2 comeback win against Lazio.[11] On 18 April 2021, he scored the winning goal in a 1–0 win over Juventus;[12]
On 19 May 2021, he scored in the final of the Coppa Italia against the same opponents but Atalanta fell to a 1–2 defeat.[13] On 24 February 2022, after having scored a goal against Olympiacos, he showed a T-shirt with the text "No War in Ukraine" after the Russian invasion of Ukraine.[14]
Later career
On 9 January 2023, Malinovskyi joined Ligue 1 side Marseille on loan until the end of the season, with an option for the French club to purchase the player.[15] Following a total amount of 23 appearances and two goals for Les Olympiens (split between the league and the national cup), he signed permanently for Marseille at the end of the 2022–23 season.[16]
On 19 August 2023, Malinovskyi officially joined newly promoted Serie A club Genoa on a season-long loan,[16][17] with a €10 million-worth option to buy in favor of the Italian club.[17][18] Genoa signed him permanently on 31 January 2024.[19]
On 10 October 2018, he scored his first goal for the national team in a 1–1 friendly draw against Italy, equalizing the score in the 62nd minute of the match.[21]