At Stadio Olimpico in Rome, AS Roma produced a clinical 2–0 home win over VfB Stuttgart in the UEFA Europa League league stage, round 7, a result that significantly reshapes the upper half of the table. Nineteen-year-old Niccolò Pisilli struck in both halves, first from a Matías Soulé assist and then late on via substitute Paulo Dybala, to lift Roma to 15 points and consolidate sixth place, firmly in the 1/8-finals play-off bracket. Stuttgart, who arrived with strong away ambitions, stay on 12 points and remain in the 1/16-finals zone but miss the chance to close the gap on the top seeds.
First Half Analysis
The opening 45 minutes were balanced and cagey, with both sides feeling their way into a contest that carried clear qualification stakes. Stuttgart’s early aggression was underlined in the 18' when Maximilian Mittelstädt was booked for a foul, a warning sign of the Bundesliga side’s readiness to disrupt Roma’s rhythm.
Roma, set up in a 3-4-2-1 by Piero Gasperini Gian, gradually found more fluency between the lines. The breakthrough arrived on 40', and it was a snapshot of the hosts’ attacking structure: midfielder Niccolò Pisilli arrived to finish after being supplied by forward Matías Soulé. That strike sent Roma into half-time 1–0 up, matching the official interval scoreline, and shifted the tactical burden onto Sebastian Hoeness and Stuttgart, who had to chase the game after the break without having anything to show for their first-half efforts.
Second Half & Tactical Shifts
The second half quickly became a managerial duel. At 60', Gasperini made a double change to reinforce Roma’s spine: Manu Koné went off for Bryan Cristante, adding experience and defensive balance in midfield, while young defender Jan Ziółkowski was replaced by Evan Ndicka, a move that injected physicality and aerial presence into the back three. These were conservative, game-management substitutions designed to protect the 1–0 lead rather than chase more goals.
Hoeness responded on 70' with an attacking tilt. Chris Führich made way for Ermedin Demirović, a more central, penalty-box oriented forward, while the already-booked Mittelstädt was withdrawn for Badredine Bouanani. That second switch freshened Stuttgart’s left side and removed a disciplinary risk, hinting at a push for more direct attacking play down the flank.
Roma then added fresh creativity and defensive energy on 72'. Captain Lorenzo Pellegrini went off for Paulo Dybala, giving the hosts an elite playmaker to exploit spaces on the counter. On the left, Konstantinos Tsimikas was replaced by Wesley, a defender, subtly shifting Roma towards a more secure, back-five look without entirely abandoning width.
Stuttgart’s final roll of the dice came on 82', when Lorenz Assignon was replaced by Josha Vagnoman and Chema Andrés by Yanik Spalt. The double switch retooled the wing-back and midfield zones, seeking renewed dynamism and delivery from wide areas. But discipline frayed: defender Jeff Chabot was booked for a foul on 84', symbolising Stuttgart’s growing frustration.
Gasperini’s last change on 84' underlined Roma’s defensive lock-down: Matías Soulé, an attacking threat, was withdrawn for centre-back Gianluca Mancini, converting Roma into a more rigid, protection-first unit. Even so, Roma maintained enough ambition to kill the game. After Zeki Çelik collected a yellow card for a foul on 87', the hosts struck again on 90': Pisilli, once more, found the net, this time assisted by Dybala. The late goal sealed a composed 2–0 victory and rewarded Gasperini’s measured in-game management.
Statistical Deep Dive
The numbers tell the story of a finely balanced contest in which Roma were far more ruthless. Possession was split exactly at 50% each, with Roma completing 454 passes to Stuttgart’s 452. Both sides posted identical pass accuracy at 83%, underscoring how evenly matched they were in terms of ball circulation and technical control.
In attack, Stuttgart actually carried more volume: 15 total shots to Roma’s 12, with the Germans also edging shots on target 5–4 and producing a higher expected goals figure (1.77 to Roma’s 0.94). Yet Roma converted two of their four efforts on goal, while Stuttgart failed to score despite their superior xG. Alexander Nübel made only two saves, compared to five from Mile Svilar, underlining that the Roma goalkeeper had more work but was well protected in key moments.
Discipline was symmetrical in fouls, with both sides committing 12. However, Stuttgart collected two yellow cards (Mittelstädt and Chabot) to Roma’s single booking for Çelik, hinting at slightly more desperate defending from the visitors as they chased the game. Corner kicks also tilted Stuttgart’s way (4–2), reinforcing the sense that they applied pressure but lacked the final touch.
Standings & Implications
In the wider Europa League picture, this result is pivotal. Roma move to 15 points with a goal difference of +7 (12 scored, 5 conceded), sitting sixth in the overall table and holding their status in the promotion zone for the 1/8-finals play-offs. Their overall record of five wins and two defeats reflects a side trending upwards despite a recent loss in their form line. Stuttgart remain on 12 points with a +5 goal difference (12 for, 7 against), ranked 13th and still in position for the 1/16-finals play-offs. However, with three away defeats in four, this loss reinforces the narrative of a side far stronger at home than on their European travels.





