Atalanta were forced to settle for a 2-2 draw against Udinese at the New Balance Arena in Bergamo on Saturday evening, a result that keeps the hosts 7th in Serie A on 46 points and leaves the visitors 10th on 36. In a match where Atalanta produced a territorial siege but had to come back from 2-0 down, Gianluca Scamacca’s second-half brace salvaged a point and underlined the fine margins in their push to stay firmly in the European race.
First Half Analysis
Atalanta, lining up in a 3-4-2-1, immediately took control of the ball, pinning Udinese’s 3-5-2 deep in their own half. The hosts circulated possession through Mario Pašalić and Yunus Musah, with Raoul Bellanova and Lorenzo Bernasconi stretching the pitch from wing-back. Yet, for all their dominance, clear chances were scarce, in part because Udinese’s back three held a compact line around the box.
The visitors’ approach was pragmatic: absorb pressure and look for direct transitions through Nicolò Zaniolo and Keinan Davis. Branimir Mlačić’s yellow card for a foul on 20' summed up Udinese’s willingness to disrupt Atalanta’s rhythm when needed.
The plan paid off on 40'. From a rare sustained spell in Atalanta’s half, Thomas Kristensen surged forward and finished a move that began with Zaniolo, who provided the assist. Kristensen’s goal from open play, one of only two Udinese shots on target before the break, punished Atalanta’s inability to turn dominance into incision. The hosts went in at half-time trailing 1-0 despite having dictated the tempo.
Second Half & Tactical Shifts
Gian Piero Gasperini reacted instantly at the interval. At 46', Marten de Roon replaced Musah, adding more positional discipline and vertical passing from deep. Udinese also adjusted, with Oier Zarraga coming on for the booked Mlačić at the same time, a move designed to freshen midfield legs and protect the right side.
De Roon’s introduction brought bite but also risk; he went into the book himself on 52' for a foul, as Atalanta pushed higher. Udinese, however, struck a potentially decisive blow on 55'. Davis capitalised on a rare foray forward, finishing from open play to make it 2-0 and seemingly tilt the match firmly in the visitors’ favour.
Atalanta doubled down on attacking intent on 57'. Nicola Zalewski replaced Odilon Kossounou, Davide Zappacosta came on for Bellanova, and Nikola Krstović entered for Lazar Samardžić. With a defender withdrawn for a midfielder, it was an unmistakable attacking gamble, turning the shape into something closer to a back two in possession and flooding the half-spaces with runners.
Udinese responded on 62' with a double change: Arthur Atta replaced Zaniolo and Lennon Miller came on for Jakub Piotrowski, reinforcing central areas and freshening their pressing. Goalkeeper Maduka Okoye was booked for time wasting on 66', a sign of Udinese trying to manage the clock as Atalanta’s pressure mounted.
The breakthrough finally arrived on 75'. Scamacca, who had worked the channels tirelessly, converted after good work from Zalewski, whose assist justified his early introduction. Just a minute later, Adam Buksa replaced Davis for Udinese, a like-for-like switch intended to keep a reference point up front.
Atalanta’s momentum was irresistible. On 79', Scamacca struck again from open play, this time without an assist, levelling the match at 2-2 and turning the arena into a cauldron. Udinese made a further defensive-minded tweak on 80', with Juan Arizala replacing Hassane Kamara to add fresh legs on the flank. Gasperini’s final move, on 88', saw Berat Djimsiti replace Sead Kolašinac, a late defensive stabiliser after the comeback was complete. Despite relentless late pressure, Atalanta could not find a winner.
Statistical Deep Dive
The numbers underline Atalanta’s dominance. They held 68% of the ball, while Udinese conceded possession at 32% and focused on structural control. Atalanta completed 506 of 601 passes (84% accuracy), in contrast to Udinese’s 217 of 290 (75%), reflecting the home side’s sustained circulation and territorial occupation.
In attack, Atalanta unleashed 22 shots to Udinese’s 8, a total siege in terms of volume. Yet only 4 of Atalanta’s efforts were on target, compared to Udinese’s 2, illustrating the visitors’ ruthless efficiency. Atalanta’s xG of 1.67 versus Udinese’s 0.68 suggests the hosts created the better chances overall and arguably did enough to justify more than a draw on underlying metrics.
Defensively, Udinese’s back line and midfield shield were crucial; they made 5 blocks on Atalanta attempts, while Atalanta’s defense blocked 2 of Udinese’s shots. Discipline was relatively balanced: Udinese committed 10 fouls to Atalanta’s 7, with two yellow cards for the visitors (Mlačić and Okoye) and one for De Roon. It was a physical but largely controlled contest.
Standings & Implications
The draw keeps Atalanta 7th on 46 points, with a goal difference of +13, maintaining their push for European qualification but representing a missed chance to close the gap on the teams above. Udinese remain 10th on 36 points with a goal difference of -8, and given their recent form of DWLLL, a hard-earned away point in Bergamo halts a worrying run of defeats. For both sides, the match encapsulated their seasons: Atalanta dominant yet occasionally wasteful, Udinese resilient and opportunistic on the break.





