Weekend review: Arsenal end their 14-year Anfield wait, Milan win the derby and Dortmund hold Bayern
Arsenal finally won at Anfield, Milan blew Inter away inside ten minutes, Fábio Silva rescued Dortmund in Munich and Boca beat nine-man River. Here is how the weekend's big games went, and where Cortex was right and wrong.

Four great rivalries, two title races turned upside down and a lot of goalkeepers having the game of their lives. Arsenal won at Anfield for the first time in 14 years, Milan took Inter apart inside ten minutes, Dortmund refused to lose in Munich and Boca beat a River side that finished with nine men.
Here is how each big game went, and an honest look at how Cortex, our model, called it. For Saturday's games we grade the pick from Friday's weekend preview; for Sunday's, the pick Cortex logged on our track record before kick-off.
Bayern 2–2 Dortmund: Kane hits the bar, Silva hits back
Der Klassiker had everything except a winner. Michael Olise hit the post after ten minutes, and on 34 minutes Jobe Bellingham thought he had given Dortmund the lead, only for VAR to rule it out for offside.
Bayern went ahead on 38 minutes: Olise sent Konrad Laimer through and he scored at the second attempt. Just before the hour Harry Kane, with his Ballon d'Or shown to the crowd before kick-off, smashed a penalty against the crossbar after a Felix Nmecha handball. Within minutes Serhou Guirassy had equalised on 60 minutes after Dortmund took the ball off Kane. Kane made amends by setting up Dayot Upamecano on 66 minutes, but with a minute left two substitutes combined: Konstantinos Karetsas found Fábio Silva, who made it 2–2. Lennart Karl still hit the bar with the last kick.
Possession was roughly even, and Kane had six shots without one on target. Bayern also lost Ismael Saibari, Serge Gnabry and Olise to injuries. Dortmund coach Niko Kovač was proud of the fight back: "Coming back from behind twice here in Munich is no easy task," he said. Bayern captain Joshua Kimmich, after a week without head coach Vincent Kompany, called it "a really, really hard week".
The table: both stay unbeaten and level at the top on 18 points, Bayern ahead on goal difference.
Did you know? It is only the fourth time in the last 18 Klassikers that Bayern have not won.
Our call: Friday's preview had over 2.5 goals at 76%, and four goals made that a winner. Both teams to score (65%) came in too. The Bayern win at 72% did not.
Sources: Sky Sports, Opta Analyst, AP via Yahoo Sports, Bulinews
AC Milan 3–1 Inter: three goals, one Moreira masterclass
The leaders arrived unbeaten. Ten minutes later they were 2–0 down. Diego Moreira broke down the flank and crossed for Christian Pulisic to head in on four minutes, then delivered the corner that Adrien Rabiot turned in off the post on ten. Moreira and Rabiot had only just returned from injury.
Alessandro Bastoni headed Inter back into it from a corner on 22 minutes, but Moreira put the derby out of reach just before half-time, curling a free-kick over the wall on 43 minutes. Inter had more of the ball (57%) and won 11 corners to Milan's three, but Mike Maignan stood in the way, with a reflex stop from Spence and another from Sučić.
Ruben Amorim, in his first derby, kept his feet on the ground: "It was not an amazing game, but it's an amazing night for our fans." Cristian Chivu, without Lautaro Martínez and with Bonny fighting a fever, admitted: "We had the wrong approach."
The table: Inter's first league defeat of the season leaves them on 25, with Lazio top on 28 after Sunday. Milan are fourth on 21.
Did you know? Inter have not beaten Milan since April 2024, and Chivu has now lost all three of his derbies as coach.
Our call: a bad night. Friday's top pick was under 9.5 corners at 76%, and Inter's 11 corners alone were enough to sink it. "Inter or draw" (73%) lost too. Only both teams to score (62%) came in.
Sources: AC Milan, ESPN, Football Italia, Yahoo Sports: newspaper verdicts, Yahoo Sports: Amorim
Liverpool 0–1 Arsenal: Havertz ends the Anfield hoodoo
Four days after going out of the Carabao Cup at League Two Fleetwood, Arsenal produced the kind of away performance that wins titles. On 16 minutes Declan Rice swept a low ball across the box and Kai Havertz steered it in at the far post.
Liverpool had 56% of the ball and 17 shots, and not one of them hit the target. Florian Wirtz came closest, rattling the bar with a free-kick, and Mac Allister headed over from eight yards. At the other end Alisson kept it close, saving from Christos Tzolis on 73 minutes. Liverpool were furious about two penalty claims, the clearest when Jurrien Timber held Alexander Isak's shirt.
Mikel Arteta said his players were "just loving the mission": "And the mission was something that we didn't accomplish in 14 years." Andoni Iraola said: "The Alex one is a clear penalty," and added that he would now tell Isak to go down in future.
The table: Arsenal are top on 24 points, three clear of Manchester City. Liverpool are fifth, nine behind.
Did you know? It was the first time since 2003–04 that Liverpool failed to land a shot on target in a home league game. Havertz's 46th Premier League goal also took him past İlkay Gündoğan as the competition's top German scorer.
Our call: an honest one. Friday's preview leaned Liverpool or draw at 60%, which would have lost. By kick-off Cortex had switched sides, and the pick it logged on our track record was Arsenal or draw, which won. We count the logged pick, but the preview got this one wrong.
Sources: Sky Sports, theScore, beIN Sports, ESPN: Arteta, ESPN: Iraola, Liverpool FC
Boca 1–0 River: Di Lollo heads it, River finish with nine
The Superclásico turned inside the first ten minutes. Lucas Martínez Quarta brought down Miguel Merentiel as the last man and, after a VAR review, was sent off. Boca made the extra man count on 27 minutes, when centre-back Lautaro Di Lollo headed in a Sebastián Villa corner.
Boca had 63% of the ball and 13 shots, while River managed just one effort on target. Gonzalo Montiel was sent off on 79 minutes for a heavy challenge on Lautaro Blanco, and River finished with nine.
River coach Leonardo Ponzio confronted the referee at full time and said VAR "interferes in many cases, always against us". Rodolfo Arruabarrena felt the game did not deserve seven bookings and two red cards, and played it down: "We haven't won anything at all."
The table: Boca need to beat Defensa y Justicia in the final round to win the annual table. River are fourth in Zona B and eighth in the annual table on 52 points.
Did you know? That is three Superclásico wins in a row for Boca, and Di Lollo's eighth headed goal for the club.
Our call: Cortex logged under 2.5 goals, and a 1–0 made it a winner. Friday's preview pick, Boca or draw at 72%, would have won as well.
Sources: Diario Crónica, El Litoral, Infobae, La Nación
Chelsea 2–0 Man Utd: Rogers runs, United unravel
United were the better side in the first half: Mike Penders saved from Amad Diallo, and Bruno Fernandes, back as captain, blazed a clear chance over. Five minutes after the break, Morgan Rogers picked the ball up deep, ran through the middle of United's defence and lifted it over Senne Lammens.
On 63 minutes Lisandro Martínez was booked for the second time in two minutes, raising an arm to Wesley Fofana's face, and Cole Palmer scored the penalty a minute later. Chelsea finished with 59% of the ball and 18 shots to 12, and Lammens made eight saves to keep the score down.
Xabi Alonso said he had told his players at half-time "we will win the game if we keep the ball". Michael Carrick said: "They struck the first blow and that made the difference."
The table: Chelsea move up to fourth on 16 points. United are 17th on seven, nine games without a win in all competitions, their longest run since September 1984.
Did you know? It was Palmer's 50th Premier League goal for Chelsea, in his 105th game. Only Jimmy Floyd Hasselbaink and Diego Costa got there faster.
Our call: Friday's top pick was over 9.5 corners at 69%, and 15 corners made it a winner. Over 3.5 cards (63%) came in comfortably too. Both teams to score (62%) did not.
Sources: ESPN, ESPN team stats, Sky Sports, LiveScore
Man City 0–1 Brighton: the upset of the weekend
Three days after City beat them on penalties in the Carabao Cup, Brighton went to the Etihad and won. On 11 minutes Matheus Nunes miscued a clearance and Yasin Ayari scored. City then had 21 shots, their most in a league game this season, worth 1.92 expected goals, but Bart Verbruggen was inspired and substitute Nico O'Reilly headed against the post.
Enzo Maresca called it "a bit strange" and said City "did enough to deserve something more". Fabian Hürzeler was proud of "a completely defensive performance".
The table: a second league defeat in a row leaves City second on 21. Brighton move to 19, and they have now beaten Arsenal and City this season.
Did you know? It was Brighton's first away win against City in any competition, at the 18th attempt. City had not failed to score in a home league game for 23 matches.
Our call: a clean miss. Friday's top pick was over 2.5 goals at 69%, and both teams to score (66%) and a City win (56%) went down with it. Brighton had seven shots all game.
Sources: beIN Sports, Jamaica Observer
Three more on Cortex's radar
- Juventus 2–0 Napoli. Goalless at half-time, then substitute Edon Zhegrova set up Kerim-Sam Alajbegović for his first Serie A goal on 70 minutes. Luca Marianucci was sent off for a second booking five minutes later, and Jérémie Boga curled in a second on 87. Juventus had 18 shots to eight and move above Napoli into seventh. Our call: Cortex logged Napoli or draw at 59%. That lost.
- Ajax 1–0 AZ. Tolu Arokodare headed in Abdellah Ouazane's cross on nine minutes, and Ajax held on despite AZ having 19 shots to nine and eight corners to one. It was Ajax's first win over AZ since March 2022, ending an 11-game run that was the longest without a win against one opponent in their history. Ajax are second, a point behind Feyenoord. Our call: over 2.5 goals at 69% and both teams to score at 67% both lost.
- Athletic Club 2–1 Real Sociedad. Iñaki Williams chipped in his brother Nico's pass after a quarter of an hour, Luka Sučić equalised with a fine strike from outside the box on 30, and Álex Berenguer scored a penalty in first-half stoppage time after Aranburu fouled Nico. Unai Simón made the saves that kept it that way. Our call: Cortex logged both teams to score, and that won. Friday's Athletic or draw (72%) came in as well.
Sources: JuveFC, Goal, FCUpdate, FCUpdate stats, EFE via Infobae, VAVEL
Elsewhere
- Bayer Leverkusen 2–4 Stuttgart: Ermedin Demirović scored twice for a Stuttgart side that had won only three of their previous eight.
- Werder Bremen 2–0 Hoffenheim: Niclas Füllkrug has now scored in seven straight Bundesliga starts, equalling Rudi Völler's club record.
- Racing Santander 0–3 Real Madrid.
Sources: AP via Yahoo Sports, ESPN
How Cortex did on the big games
Across the nine headline games, Cortex's top pick won five and lost four. The hits were Bayern v Dortmund, Liverpool v Arsenal, Boca v River, Chelsea v Man Utd and Athletic v Real Sociedad. The misses were the Milan derby, Man City v Brighton, Juventus v Napoli and Ajax v AZ, and the City game in particular was nothing like the open match Cortex expected.
Cortex looks back at every Sunday pick, and what it changed afterwards, in Cortex's Diary. Every pick, win or lose, is on our public track record.
18+. Our picks are chances, not certainties. Please bet responsibly.
Questions
Who scored in Liverpool v Arsenal on 1 November 2026?
Kai Havertz, in the 16th minute, from Declan Rice's low cross. Arsenal won 1-0, their first league win at Anfield since September 2012, and went top of the Premier League, three points clear of Manchester City.
What was the score in the Milan derby in October 2026?
AC Milan beat Inter 3-1 at San Siro on Saturday 31 October 2026. Christian Pulisic, Adrien Rabiot and Diego Moreira scored for Milan, and Alessandro Bastoni for Inter. It was Inter's first Serie A defeat of the season.
How did Cortex do on the weekend's big games?
Its top pick came in on five of the nine headline games: Bayern v Dortmund, Liverpool v Arsenal, Boca v River, Chelsea v Man Utd and Athletic v Real Sociedad. It missed on the Milan derby, Man City v Brighton, Juventus v Napoli and Ajax v AZ.


