Bayer Leverkusen beat 1. FC Köln 2–1 at the RheinEnergieStadion on Sunday, 8 November 2026. Aleix García opened the scoring with a direct free kick in the seventh minute. Patrik Schick added the second in the 85th after an earlier effort was disallowed, and Saïd El Mala scored for Cologne in the second minute of stoppage time from a pass by his brother Malek. The sequence left Leverkusen defending a one-goal lead again at the end of a game in which it had spent much of the afternoon trying to extend one. Bundesliga full-time report · Bayer 04 match centre

The result is easiest to understand by separating three periods of play. Leverkusen threatened in open play before García put it ahead from a set piece. Cologne stayed close enough for individual chances and decisions to matter deep into the second half. Then the teams traded late goals that changed what each side needed in the remaining minutes. The gap between Schick’s two finishes is especially instructive. One was removed from the score because of an infringement in the build-up. The next counted, even though the same striker put the ball into the same net only a few minutes later. Bundesliga German-language match report

What changed before kickoff

Cologne coach René Wagner made one change from the starting eleven at Union Berlin, bringing in Mikey Moore in place of Ísak Jóhannesson. Leverkusen also made one change compared with its previous Bundesliga match against Stuttgart, with Malik Tillman starting instead of Lucas Vázquez. That comparison uses league fixtures as its reference point. A reader comparing Bayer’s team with its intervening Europa League lineup against Marseille will see more changes, because that is a different starting eleven. Cologne’s confirmed selection · Bundesliga full-time report · Bayer 04’s derby report

The selection matters when you watch how Cologne tried to get out under pressure. Find Moore when the home side first wins the ball and see whether he offers an immediate pass or moves higher to become the target of the next one. Starting positions from a team sheet give you a list of the available players. The first few possessions tell you more about where they were asked to receive. The same applies to Tillman on the other side. His name in the starting eleven tells you who changed from the previous league fixture. Watching where he appears when Leverkusen get into the attacking third helps explain how the players around him use the available space.

Cologne’s preview noted that it had yet to lose a home league game that season. The club listed two wins and two draws in Müngersdorf before the derby. The 2–1 result therefore ended an unbeaten home league start. Cologne’s fixture announcement had set the match for 15:30 local time. Both details belong to the lead-up and the outcome of this specific game. The fixture date is useful for identifying the correct replay because the clubs meet repeatedly across seasons and the same stadium can appear in several different results. Cologne’s derby preview · Cologne’s fixture announcement

García scored after Leverkusen had already tested Schwäbe

Marvin Schwäbe had work to do before the opening goal. The league’s report describes a sequence in the fourth minute involving Ibrahim Maza and Schick, with Maza creating an opening for the striker before trying himself. By the seventh minute, Leverkusen had a free kick from about 20 metres. García sent it high into the left side of the goal. The set piece and the earlier open-play opportunities are worth watching together. The shots from play asked Schwäbe to respond to changes in the position of the ball and the attackers. The free kick gave García a stationary ball and Schwäbe a wall to arrange before the strike. Bundesliga German-language match report

For the free kick, start by locating the keeper before García begins his run. Then look at the defenders in the wall and the gap between its edge and the post. A camera behind the taker will show the path the ball takes relative to the wall. A camera near the goal can help show how early the keeper sees the shot and how much of the goal he has to cover. Those angles answer different questions. A strike can be difficult to save because it is placed well away from the keeper, because the wall delays his view, or because both factors apply. The shot’s destination is clear from the footage and the report. Its difficulty becomes easier to assess when you see the starting positions.

The Bundesliga’s Match Facts gave the free kick a goal probability of 10 percent. That is a model estimate for the chance, which helps put the precision of the finish in context. It is also separate from the full-match expected-goals totals. The value attached to one attempt tells you about that attempt under the model. The match total adds the values for a team’s attempts. In this case the direct free kick made the score 1–0 early, but its model value was only a small part of the attacking chances Leverkusen accumulated over the afternoon. Bundesliga Match Facts in the German report

The one-goal gap survived until the closing minutes

Cologne had an opportunity after the opener when Sebastian Sebulonsen got through and was denied by Mark Flekken. Leverkusen led by one at the interval. In the second half, Schwäbe saved from Schick in the 63rd minute, and Bayer’s club report records an attempt from Saïd El Mala at the other end in the 72nd. Taken together, those incidents show why the match remained open. Leverkusen could reach positions from which a second goal was possible, while Cologne still needed only one successful attack to draw level. Bundesliga German-language match report · Bayer 04’s derby report

A useful replay comparison is Sebulonsen’s chance and the chance that Schwäbe saved from Schick. Begin before the final pass or shot and ask whether a defender can still influence the next touch. Then look at whether the goalkeeper comes forward or holds a position closer to the line. The decision changes with the distance between ball carrier and goal, and with how much control the attacker has. That kind of comparison makes more of the match than a highlight reel of goals alone. In this game the saves preserved the same 0–1 score at different points, but they protected different possibilities for the two teams.

The Bundesliga recorded expected goals of 1.38 for Cologne and 2.03 for Leverkusen. Those totals point to a higher aggregate chance value for the visitors while also showing that Cologne generated meaningful opportunities. Reading the totals next to the timeline is more informative than reading either in isolation. At half-time, the score reflected García’s seventh-minute kick. By full time, the aggregate reflected the chances from the entire match, including the late stretch. The sequence still matters because the score affected whether a team could afford to take another risk at the back. Bundesliga Match Facts

Schick finished twice, but only the second counted

In the 82nd minute, Schick appeared to extend Leverkusen’s lead. The effort was ruled out for a handball in the build-up. The scoreboard therefore stayed at 0–1. The next goal arrived in the 85th minute, according to the Bundesliga. Maza played a through ball and Schick got past Joël Schmied before scoring. The match record credits Maza with the assist and Schick with the goal. The disallowed effort explains what happened a few minutes earlier, and the two incidents should remain separate in a scoring summary. Bundesliga English-language match report and scorer list

For the goal that stood, watch Maza before he passes. A through ball works when the passer can see the run and the striker can reach the space ahead of the defender without having to slow down. After that, the striker still has to protect the ball and get a shot away. Schick’s finish was a different route to goal from García’s free kick, which had no teammate supplying the final pass. The visitors had scored from two very different starts by the time they went 2–0 up. One came from a dead ball with the goalkeeper and wall set. The other came from a moving attack with a defender trying to recover.

The timing also gave Leverkusen a cushion that lasted only into stoppage time. At 0–1, a single Cologne goal could have made the match level. At 0–2, the first Cologne goal would still leave the home team needing another. That is the practical difference Schick made when the second effort counted. With the remaining time limited, Cologne could keep attacking and still face the problem of creating two finishes before the whistle.

The El Mala brothers made it close again

Substitute Malek El Mala supplied the pass for Saïd El Mala’s goal in the second minute of added time. The shared surname in a scoring feed can make the roles easy to confuse. In the official league account, Malek supplied the assist and Saïd scored. Cologne’s report from the previous league match helps explain why Malek’s name may already have been familiar. He had scored the equaliser on his debut against Union Berlin. In this derby, his contribution was the final pass. Bundesliga scorer list · Cologne’s report from Union Berlin

The goal changed the immediate problem for Leverkusen. Cologne now needed only one more, so each remaining possession carried the possibility of an equaliser. To see how that plays out in a replay, leave the recording running after the goal rather than ending the clip with the finish. Note where the ball goes on the restart and whether the team defending the lead can move play away from its own penalty area. The Bundesliga report confirms Cologne did not score again. The official final therefore reads 1–2, even though the home goal came late enough to disappear from some snapshots of the match.

Which numbers belong with the result

The league named García its player of the match. Its German report also credited him with positive passing efficiency and listed him as the leading player in that measure for Leverkusen. That puts his free kick alongside his other work with the ball. The winning goal still belonged to Schick, and the late assist for Cologne belonged to Malek El Mala. These records can coexist because they describe different things: an award, an estimate based on passes and the events that changed the score. Bundesliga Match Facts and award

For a match notebook, keep one line for the score at half-time, another for the final score and a separate line for any disallowed goal. Adding the 82nd-minute effort to the scoring list would hide the period in which Cologne still needed only one goal to level. That is the part of the match that explains the value of Schick’s next run. Likewise, leaving out the stoppage-time goal would miss the last change in what Leverkusen had to defend.

What German viewers were searching for

The query “köln – leverkusen” was first in Germany’s Google Trends Trending Now view when checked at 18:32 UTC on 8 November. The table showed 100K+ search volume and Active status in the past-24-hour window, across all categories and statuses, sorted by search volume. That number is a displayed band for the search query and period. It gives context for the interest in the derby without supplying a match statistic. For the goals, use the league’s scorer list. For the selected team before kickoff, use the club’s lineup announcement. Google Trends Germany

If you have time for only three passages, start with García’s free kick, then watch Schick’s disallowed finish and the move that produced his goal as a pair. Finish with Malek’s pass to Saïd. Those sequences explain the changing margin without requiring every attack. For another recent match involving the visitors, see our coverage of Leverkusen against Marseille. The Marseille game is relevant to the team-selection comparison, while the goals described here all belong to the November league derby in Cologne.

Sources consulted 9 November 2026, Dhaka time. The match took place on 8 November 2026 in Cologne. The image is an original football illustration.

Source / image note: Bundesliga, 1. FC Köln, Bayer 04 and Google Trends.