Frosinone beat Torino 2-0 at the Stadio Benito Stirpe, and the result was shaped less by ninety minutes of football than by a turbulent final quarter-hour of the first half — one that forced Ignazio Abate's side into two changes before the interval and left them chasing a game they never looked capable of turning.
Torino arrived in Ciociaria with momentum. Abate's side had collected six points from their last three matches before this fixture, winning twice in that run. That form made the opening period competitive, but the discipline held only so long. Zakaria Aboukhlal was booked at 27', and Gvidas Gineitis followed him into the referee's notebook at 33'. Both were withdrawn at half-time — Gineitis replaced by Emirhan İlkhan at 45', Aboukhlal by Nathan Patterson at the same interval — a double enforced substitution that reshaped Torino's midfield before the second half had even begun.
Frosinone's opener arrived three minutes into the second period, and the timing was clinical. Farès Ghedjemis, the Frosinone midfielder, converted at 48' with an assist from Giorgi Kvernadze — the goal coming precisely when Torino's reshuffled unit was most vulnerable to a direct challenge. From 0-0 to 1-0, and the Stirpe had its answer to forty-five minutes of stalemate. Massimiliano Alvini's side had already made one change of their own before the break, withdrawing Antonio Raimondo for Daniel Bîrligea at 30', but that move read as tactical adjustment rather than crisis management. The contrast in circumstances was telling.
Ghedjemis is the natural focus here. The goal that opened the scoring — and ultimately defined the margin — came from a player who had been on the pitch for the full match, composed enough to convert when the opportunity arrived in the most pressurised passage of the game. Kvernadze's assist connected two of Frosinone's most active contributors, and the combination underlined how Alvini's side have built their recent run: through collective movement rather than individual improvisation.
Torino's problems were structural before they were tactical. Losing two midfielders to yellow cards inside six minutes, and then being forced to use both half-time substitution slots to manage the disciplinary situation, meant Abate had effectively spent his first two changes before the second half started. When Duván Zapata came on at 71' alongside Gaetano Oristanio, and Sandro Kulenović entered at 81', Torino were three goals short of where they needed to be and running out of time. Three yellows across the match — Aboukhlal, Gineitis, and Saúl Coco at 66' — told the story of a side that could not find the right register against a home team in control of the tempo.
Giacomo Calò sealed it at 90+3', assisted by Wisdom Amey, who had entered at 80'. The goal was confirmation rather than surprise: Frosinone had managed the game's closing stages without alarm, and Calò's finish simply closed the account. In their last three matches including this result, Frosinone have won twice and drawn once, conceding five goals while scoring eleven — a side that has found a reliable attacking output without abandoning defensive structure. Torino's trajectory runs the other way: one win, no draws, and two defeats across their last three, with seven goals conceded in that window against four scored.
Frosinone's capacity to absorb a first-half disruption — their own substitution at 30', Torino's disciplinary chaos around them — and then strike immediately after the interval is the detail that separates this result from a routine home win.