Goals: 1-0 Jovic (1'), 2-0 Haller (65'), 2-1 Embolo (82'), 2-2 Naldo (90+5')
Frankfurt have a habit of finishing the calendar year on a high note, and they took the lead at the Commerzbank Arena with barely 60 seconds on the clock. Ante Rebic did well to find Mijat Gacinovic inside the area, and the Serbia midfielder snuck a wicked pass between the legs of international teammate Matija Nastasic for Luka Jovic - another compatriot - who poked past Ralf Fährmann from close range. The visitors responded well and quickly took control of proceedings, with returning duo Yevhen Konoplyanka and Alessandro Schöpf providing menace down the wings. Frankfurt had a couple of half-chances from corners, with Gacinovic and stand-in captain Kevin-Prince Boateng going close, but a dominant Schalke really ought to have equalised before the interval. Schöpf had their best opportunity, forcing a magnificent save from Lukas Hradecky on the stroke of half-time.
The game followed a similar pattern early in the second half, with Frankfurt demonstrating why they came into the weekend with the Bundesliga's second-best defensive record. Schalke continued to enjoy the lion's share of possession, but failed to create any meaningful scoring chances as they were frequently caught out by the hosts' offside trap. The Eagles doubled their advantage shortly after the hour mark after more excellent work from Gacinovic, who pounced on a poor pass from Benjamin Stambouli, ghosted past Max Meyer and slipped the ball between Naldo's legs for substitute Sebastien Haller, who grabbed his sixth of the season with a cute backheel. Substitute Breel Embolo set up a frantic finish by turning in Guido Burgstaller's cross, though it looked like Frankfurt would hold on after Hradecky blocked a vicious strike from Daniel Caligiuri. Nothing doing - Naldo swept in with the last kick of the game to extend Schalke's unbeaten run to 11 matches.