The international break has finished and this weekend brought us plenty to talk about as European club action returned with a bang! Manchester City advanced in the FA Cup despite a game to forget by Erling Haaland, and Napoli took a decisive step back into Serie A‘s title race while simultaneously wrecking Milan’s aspirations of securing a spot in next season’s UEFA Champions League.
Elsewhere, we had talking points galore around RB Leipzig (goodbye, Marco Rose), Barcelona (and the ageless scoring form of Robert Lewandowski), Paris Saint-Germain (who can clinch Ligue 1 in the next week) and Aston Villa, which are getting great returns from a pair of on-loan legends. Here are some musings and reactions to the most memorable moments of the weekend.
Injured and wasteful, Erling Haaland has a nightmare game, but Manchester City have their game faces on in FA Cup win over Bournemouth
I don’t buy the narrative that Guardiola’s decision to reshuffle his back line at halftime by sending on an attacking midfielder like Nico O’Reilly at left back somehow turned the game. Yes, you feel a little better about things defensively if Josko Gvardiol is in the middle instead of Abdukodir Khusanov (I’m sure there’s more to come) and, of course, O’Reilly delivered the two assists that allowed City to come back from a goal down to win 2-1 and book their spot in the FA Cup semifinal.
The fact is that Erling Haaland alone could (should?) have notched three goals in the first half. And it was City as a whole who raised their game after the break, limiting Bournemouth — who lest we forget, are just four points behind them in the table and beat them comprehensively back in November — to a grand total of zero shots of any kind in the second half.
In fact, there was something of the City of old (i.e., last year and the one before) for much of the game as Bernardo Silva, Kevin De Bruyne, Mateo Kovacic and Ilkay Gündogan dominated the ball, playing keep-away and creating space. Bournemouth paid the price for missing half their starting back four — Dean Huijsen and Milos Kerkez were both suspended — but make no mistake: It was City who made them look really bad.
All of which brings us to Haaland. He took a bad penalty, made a bad decision when one-on-one with Kepa Arrizabalaga, and had a bad header. Oh, and he picked up an ankle injury to boot, though he has yet to be assessed.
Might it be a blessing to have Omar Marmoush, who scored the winner, up front for a while? I don’t think so. You should worry more when Haaland doesn’t get on the end of chances, not when he misses them.

Napoli not pretty, but still in the title hunt, while Milan’s defeat may well mean no Champions League
The headline takeaway is that Napoli beat Milan 2-1 to stay three points behind Inter and keep their title hopes alive. And make no mistake about it: they are very much alive.
Other than next week’s visit to Bologna, which are flying high in fourth place, the rest of their schedule sees them play sides in the bottom half of the table. Contrast this with Inter who, in addition to their European (home-and-away against Bayern in the Champions League quarterfinal, possibly more to come) and Coppa Italia commitment (the derby against Milan and maybe a final), have to navigate games against three of the top eight.
Antonio Conte’s team enjoyed the benefit of two early goals — both in transition, both taking advantage of some poor defending — to take a 2-0 lead at home. From there, they had two options: play it safe and try to hit again on the counter, or put Milan under pressure and try to add the lead.
No prizes for guessing what Conte chose.
Napoli managed just three shots on goal in the final 71 minutes plus injury time, which rather says it all. They kept the ball (they had the bulk of the possession), made Milan chase them and tried to see out the game.
As a strategy, it worked in the sense that it yielded the desired result — Napoli are now just three points back from the top with eight games remaining — though I’m not sure it was the right approach. Milan ended up putting tougher a 2.19 expected goals in the second half alone and ended up missing a (generous, to say the least) penalty with Santi Gimenez. That tells you Napoli came very close to dropping points and when you’re at home against this version of Milan, that ought to be a concern.
Conte cited the absence of Scott McTominay and the fact that David Neres was returning after nearly two months out. Sure, but it’s reasonable to expect more. One mistake — or better finishing from Gimenez — would have left them five points back.
As for Milan, you hate to throw manager Sérgio Conceição under the bus again (not really…) but sometimes he leaves you little choice, because his empty machismo borders on the absurd. Pregame he was asked if he felt he had the club’s support and said, “I’m not a little boy, I don’t need my daddy’s approval.” During the game, he got himself needlessly booked for ranting about Napoli’s time-wasting: they’re winning and the clock is ticking down. What do you expect them to do?
But those are minor points. More important is the fact that Champions League football is Milan’s priority at this stage and yet it felt as if his starting XI, with Rafael Leão and Santi Gimenez on the bench, was put together with a view towards Wednesday’s Coppa Italian derby with Inter. It’s true that Gimenez played with Mexico in Los Angeles during the break, but he was back on Monday. How much recovery does he actually need?
Picking João Félix — 20 touches, one pass into the final third during 55 minutes on the pitch — ahead of Leao also seemed absurd. Almost as absurd as his explanation, which stated that Leao had picked up a muscular quibble and “would not have started anyway.” (Yeah, Sergio: that doesn’t really help your case.)
Unless, of course, you’re putting all your eggs in the Coppa Italia basket, because you know you’re getting fired at the end of the season and if you beat Inter you can actually win it, and then you can tell your next employer that you were there for only six months but won both the Super Cup and the Coppa Italia. Of course, thinking that would be cynical and mean.
It’s not surprising that RB Leipzig fired Marco Rose, but it is surprising it took this long. Does Jurgen Klopp get involved?
RB Leipzig, and the Red Bull group in general, aren’t going to win many popularity contests in Germany, so this season was met with a bunch of schadenfreude by many (including me). Some of it, perhaps, was envy because since getting involved in the game 15 years ago, they have gotten many more things right than wrong in terms of scouting. To this day, they’re arguably the only people to have gotten multiclub ownership right, so credit where credit is due.
But that’s what makes this campaign so astounding, much like the fact that they waited until after Sunday’s 1-0 defeat away to Borussia Monchengladbach before sacking manager Marco Rose.
RB Leipzig somehow managed to finish 32nd out of 36 teams in the Champions League. They’re sixth in the Bundesliga table and, somehow, they’re closer to Heidenheim in the relegation spots than they are to Bayern (this hardly irresistible 2024-25 version of Bayern, mind you) at the top of the league.
Under Rose, they’ve somehow gone backwards over three seasons, despite adding talent every year. The “SOS” frontline — Benjamin Sesko, Loïs Openda, Xavi Simons — is supposed to be one of the most gifted young attacks in Europe (and that’s before you get into the electric Antonio Nusa), yet they rank in the bottom half of the league in goals and a paltry 13th in expected goals. And that’s the gifted part of the team. At the back, week in, week out, it’s a horror show.
It’s not clear any of these guys have improved year over year, and neither has the team. So the question now for me is whether Red Bull call upon their Global Head of Soccer, a guy named Jurgen Klopp, to help sort things out. Not to coach, obviously, but to find the right people.
Klopp’s former assistant, Pep Lijnders, was a disaster at their other club, Salzburg, but that notwithstanding, Klopp surely has something to contribute beyond being a figurehead. On the other hand, some have suggested he’s happy with a semi-ambassadorial role. (Or maybe he doesn’t want to sort through this mess?) If that’s the case, more power to him, but Leipzig need to find somebody who can get things right from the top down.
Quick hits
10. Paris Saint-Germain romp at Saint-Etienne, can clinch Ligue 1 title next week: Arithmetic will do its part next week (if not, the week after or the one after that) and Paris Saint-Germain will win Ligue 1 for the 11th time in the past 13 years. That part is not a surprise (Qatari investment definitively moved the needle). But what is remarkable is that this crown is unlike the others. The turn towards youth and intensity rather than marquee superstars and individual quality — not that there isn’t plenty of the latter on this team — is very real, and a ton of credit has to go to manager Luis Enrique. They’ve won 14 of 15 games (the one they didn’t win in that series was at home to Liverpool, when they deserved victory) and that’s a testament to consistency, something you don’t always associate with young teams. The 6-1 demolition of Saint Etienne (after going a goal down) only speaks to the hunger in this team.
9. Bayern Munich look better than the score line vs. St. Pauli: I know that some folks despair when Bayern don’t steamroll their opponents and the 3-2 score suggests more nerviness. But with a long injury list, the screws turned by Bayer Leverkusen‘s win on Friday (which temporarily cut the lead to three points) and a visit from St. Pauli, the league’s third-stingiest defense, this wasn’t a gimme. Yet Bayern racked up 3.53 xG and the visitors’ second goal only came in garbage time. Plus Leroy Sané bagged two goals, and an on-form Sane ahead of his expiring contract is a nice bonus. They could have defended better on both goals, but let’s remember Eric Dier and Raphaël Guerreiro were thrown into the defensive mix. Most importantly, they don’t look like a side that’s weary or fatigued.
0:58
Hutchison: Forest deserve their FA Cup semifinal spot
Don Hutchison says Nottingham Forest were deserved winners over Brighton in their FA Cup quarterfinal clash.
8. Nottingham Forest are the real deal, not just in the league: All season long, folks have been waiting for them to fall away. It’s not just that the Forest brand hasn’t been relevant to the top end of the table since long before Brian Clough left, but also the fact that Nuno Espirito Santo’s football seemed somewhat anachronistic: big striker, fast wingers, tight defense, bottom of the league for possession … this isn’t what successful football looks like in 2024-25. Yet they’re third in the league and barring some sort of cataclysm, will be playing Champions League football next season. On Saturday, without their top scorer, Chris Wood, they advanced to the FA Cup semifinal, knocking out Brighton on penalties. Brighton, perhaps mindful of the 7-0 defeat in early February and hoping to catch them off guard, changed their entire approach, becoming distinctly risk-averse. Forest punished them, creating the better chances in the 90 minutes before outlasting them in extra time and penalties. That’s a sign of respect: getting an opponent like that to change the way they play (at home) when they come up against you.
7. Igor Tudor delivers both a win and a 180-degree turn (as promised) on his debut: Tudor was brought in by Juventus to make radical changes on the fly and did just that on his debut for Juventus against Genoa (wearing nifty Boca Juniors-inspired jerseys). Three at the back, Dusan Vlahovic back in the side, Kenan Yildiz (who was magnificent) on the pitch in a role where he can do the damage to the opposition. And, of course, more intensity and directness, two things that were largely lacking under Thiago Motta. I don’t know if it will be enough to finish in the top four and there’s still plenty of work to do — I’m not sure the back three makes sense when you’re short of viable central defenders, and Teun Koopmeiners is still a ghost in midfield — but there’s no question Juve got the new manager bounce they were looking for. It’s amazing what you can do when you stick to being rational.
1:47
How ‘scary’ Barcelona kept their LaLiga title charge on track
Alejandro Moreno reacts to Barcelona’s 4-1 win against Girona in LaLiga.
6. Robert Lewandowski dials back the years as Barcelona trounce Girona: I get it, the game has changed and careers are lasting longer, but what Robert Lewandowski, who turns 37 this summer, is doing is nothing short of phenomenal. He’s likely to break the 50-appearance mark this season — heck, if Barca go all the way in all competitions, he could play 58 games, seven more than his personal record, which he set nearly a decade ago. He has been a regular goal scorer during his time at Barca, but he has taken it to the next level over the past month or so not just technically (that was never in question) but athletically as well. He suggested that doing gymnastics and judo earlier in his career helped his flexibility. Whatever it is, it’s critical to Barca because there is no natural Plan B up front. That said, in many games — like Sunday’s 4-1 thrashing of Girona — Barca don’t need one. Despite some heavy rotation following the break and Thursday’s Osasuna game (Fermín López, Gavi, Ronald Araújo and Eric García all started) this match was never really in question. Barca have won six on the spin and haven’t lost in 2025. For all the stadium delays, Joan Laporta nonsense and red ink, Hansi Flick and his boys are doing their part.
5. Defensive blunders nearly cost Real Madrid, but Kylian Mbappé comes to the rescue: Soccer is a low-scoring sport and the exceptional — whether a craven unforced error or a moment of genius — has an outsized impact. Real Madrid fell behind to two bits of abysmal defending against Leganes and ultimately won the game 3-2 thanks to a stunning Kylian Mbappé free kick. Carlo Ancelotti’s crew deserved the win for the chances they created, though again, they got the rub of the refereeing green: Mbappé’s Panenka penalty was the result of a dubious decision, and his winning free kick came off another dubious foul call. If you’re Ancelotti, you can probably write off the defensive blunders as so grotesque they’re unlikely to happen again. Among your positives, you can count Brahim Díaz‘s performance (he made way for Vinícius, initially rested — like Rodrygo — after the international break) as well as Mbappé’s form: he’s making the center forward role his own. That said, it would be nice if they could both win and not to have to fret until the final minutes, something they haven’t done in more than a month.
4. Marcus Rashford revival? Sure, but it’s more about Aston Villa not turning their noses up at loan deals: Things are turning out pretty well for Marcus Rashford. He’s getting minutes at Aston Villa since coming over on loan from Manchester United, he started both England games during the break and on Saturday, he scored his first goals for his new club. Villa’s other attacking loanee, Marco Asensio, is doing even better, with seven goals since arriving from PSG. Villa are in the semifinal of the FA Cup (where they’ll face Crystal Palace) and the quarterfinal of the Champions League (PSG up next) and they’re still in the hunt for a Champions League spot next season. Not a bad spot to be, and Unai Emery’s loan signings (chuck in Axel Disasi from Chelsea, too) are a big part of it. Big clubs, especially in England, traditionally avoid midseason loans. Maybe they can learn something from sporting director Monchi and Emery, because Villas are turning into a win-win, for player and club.
1:18
Why loan signings Rashford and Asensio has worked out for Villa
Gab Marcotti and Julien Laurens discuss the success of Aston Villa’s loan signings Marcus Rashford and Marco Asensio this season.
3. Maximilian Beier shines in Borussia Dortmund win. Where has he been all year? Beier arrived in the summer as the club’s “other” big signing in the forward line, playing second fiddle to Serhou Guirassy. Sure, he didn’t score 28 goals like Guirassy, but he did notch 16, all of them from open play, turning out for a worse team (Hoffenheim). Yet of the 27 occasions he’s been in the match day squad in the Bundesliga this season, nearly half the time he has started on the bench … which is kind of odd given they spent €28.5m ($30M) in transfer fees for his services. Maybe he played the price for his versatility — Beier can play wide or as a center forward — but whatever the case, he has really only started contributing in recent weeks under Nico Kovac. He bagged two goals in the 3-1 win over high-flying Mainz, and he did it playing in a front two with Karim Adeyemi and Julian Brandt in the hole. Guirassy was unavailable, and it’s unclear what the plan will be when he returns, but a talent like Beier should be playing a big part in Dortmund’s push for the Champions League. Which appears improbable at this stage — they’re 10th — but certainly not impossible.
2. Inter Milan gut out a win vs. Udinese, but this ought to be a warning sign: Live by the deep squad and heavy rotation, die by the deep squad and heavy rotation. Inter raced to a 2-0 lead in the first half-hour, and everything seemed rosy against Udinese. Simone Inzaghi — already without Denzel Dumfries, Lautaro Martínez and Alessandro Bastoni — left Nicolo’ Barella and Yann Bisseck on the bench and Inter were solidly in control of the game … until they weren’t. The second half saw them fail to create much of anything, Udinese pulled one back and the last few minutes were nervy to the point that Inzaghi himself got booked. You can’t really blame him for load management given the onslaught of games coming up, but what’s evident is that this is going to be a slog and maybe his squad isn’t quite as deep as he hoped.
1. Copa del Rey now Atletico’s best (only?) shot after more dropped points: There’s a definite contradiction with Diego Simeone’s Atletico Madrid. The narrative is that this is a deep squad, that his substitutions change games and that there’s a gritty, never-say-die, “Cholista” attitude that helps them gut out matches when it matters. A lot of the time, that’s the case, but on Saturday, we saw the opposite. They took the lead with a rare César Azpilicueta wonder goal versus relegation-threatened Espanyol and then, suddenly, went limp. An expected goals count of 0.10 in the second half tells its own story. A silly shirt-pull from Clément Lenglet, again one of Simeone’s experienced “warriors,” according to cliché, gifted Espanyol the penalty and cost Atleti two points. Sure, their South American players were tired after all that travel for World Cup qualifying, but Rodrigo De Paul and Julián Álvarez — both of whom came on after the break — had zero impact. The draw leaves them nine points back from the top, and the inescapable feeling is that now it’s all about the Copa del Rey and the return leg of their semifinal against Barcelona on Wednesday. Which, frankly, is a bit disappointing given how things were panning out this year. Maybe the “narrative” surrounding this club isn’t quite what they make it out to be.