The absence of their two top scorers, Marco Reus and Paco Alcacer, showed badly as Borussia Dortmund slumped to a 2-0 loss at the San Siro. Lucien Favre's side also showed their defensive vulnerabilities once again.
Inter Milan 2 - 0 Borussia Dortmund
(Martinez 22', Candreva 89')
Their passing patterns were pretty and their possession percentage tidy but Borussia Dortmund could barely lay a glove on Antonio Conte's streetwise Inter Milan outfit on Wednesday night.
Both sides started in sedate fashion and the game only sprung in to life when Inter's in-form Argentinian striker Lautaro Martinez latched on to Stefan de Vrij's lofted straight ball to take a touch before poking past Roman Bürki to give the home side the lead.
The 22-year-old looked offside but the VAR replays showed Dortmund left back Nico Schulz had failed to step out with the rest of BVB's defense, playing Martinez onside. It wasn't the last time such an elementary error would undo Dortmund.
As half time approached, the visitors finally troubled Samir Handanovic in the Inter goal but the Slovenian was equal to Jadon Sancho's angled drive from a tight angle.
That was about as good as it got for Lucien Favre's Bundesliga outfit, who created little without Marco Reus or Paco Alcacer and with Mario Götze presumably too ill to come off the bench. A front three of Sancho, Julian Brandt and Thorgan Hazard failed to provide any aerial threat or anyone capable of playing with their back to goal.
As the clock ticked down, BVB got more desperate and Mats Hummels took down Inter's 17-year-old substitute Sebastiano Esposito in the box, only for Roman Bürki to save Martinez' penalty.
But it was not to matter. Julian Weigl, again pressed in to service at the back, failed to learn from Schulz' mistake and dropped as his teammates stepped up. Veteran winger Antonio Candreva burst through to lash home the winner that takes Inter above Dortmund in to second in Group F. The two sides meet at Signal Iduna Park in two weeks in a game that looks increasingly critical. Favre will hope to have a goal threat by then.
As it happened
FULL TIME: That's it. Inter leapfrog Dortmund in to second with Barcelona beating Slavia Prague. The return match in Germany in a couple of weeks is a huge one now.
90+1 - There are three minutes of injury time. That won't be enough for Dortmund. Martinez has been replaced by Valero.
89' - GOAL! Inter Milan 2 - 0 Borussia Dortmund (Candreva)
It's all over. Guerreiro gives the ball away and Inter pounce. Martinez is involved with a lovely lay off and Candreva bursts down the right. Weigl doesn't follow the lead of his fellow defenders and drops back, playing the veteran onside. And Candreva ignores the square ball to Martinez to slam home. Incisive break.
88' - Inter are very deep now and Dortmund have no real aerial threat in the box, so it's all very congested.
87' - Hummels who didn't get booked for conceding the penalty but does get one for puling back Gagliardini after giving him the ball.
85' - Martinez gets away form his man but is forced a bit wide. He has a crack anyway and it deflects in to Bürki's outstretched arms.
84' - Favre makes his final sub. It's Guerreiro for Hazard, so no Götze tonight.
83' - PENALTY SAVED!
Bürki keeps them in it. Martinez struck it firmly but too central and at a perfect height and the Dortmund keeper pushes it away. Huge let off, but can they make it count?
81' - PENALTY FOR INTER!
Hummels gets in all sorts of trouble here. Esposito, the 17-year-old substitute gets between the center back and a teammate, Hummels goes to ground and gets the ball but not before the man. He avoids a red but...
80' - Another sub for Inter. Asamoah, who's had a good game, is replaced by Biraghi.
78' - Godin goes in to the book for a rather cynical hold on Hazard. Not the first time he's been booked for that sort of thing. Seconds later Weigl is booked for a poorly-timed slide tackle.
75' - So close for Sancho!
Agonizing moment for Dortmund there. Witsel pushed Hazard in on the overlap down the left side of the box and he cut back for Sancho. The ball was slightly behind him so the English winger needed a touch and to dig it out of his feet. His effort from eight yards was creeping in but hit a defender before it was hacked off the line.
73' - Chance to double the lead!
Lovely stuff from Martinez who takes a square ball from Asamoah, who looked offside, and flicks it round Akanji, only to see his shot deflect wide. Schulz is fouled from the corner and that's the end of the game for Akanji, who is replaced by Bruun Larsen. Still no Götze, he's apparently ill but if he can play at all, surely now is the time.
70' - A slightly more controlled spell from the Italians now, they've taken the sting, such as it was, out of Dortmund again.
68' - The away side are dominating possession now and Inter look a little frustrated, with a few niggly fouls and overly-ambitious passes creeping in. But the clock is against Dortmund here.
64' - Great save!
It's starting to happen for Dortmund now. The ball pinballs around the edge of the box and falls to Brandt. He sets himself and pings one at goal. It looks to get a slight nick off a defender and bounces in front of Handanovic but he employs a firm hand to tip it up and away. BVB make their first change, Dahoud for Delaney. Inter have also make a change, with Lukaku replaced by 17-year-old Sebastiano Esposito.
62' - Saving tackle!
Inter give the ball away carelessly in midfield and Dortmund react quickly, with Hazard slipping in Hakimi. But Asamoah is equally alive and goes to ground to rob the Moroccan international. Great challenge and, even better from him, it clips the Dortmund man before going out. Goal kick.
61' - A spot of handbags between Skriniar and Hakimi as the latter wins a corner off the former. Something and nothing. But Hazard's corner is poor and easily cleared at the front post.
59' - It's been slightly better from Dortmund in the last five minutes or so but it's slow and they've still not really worked Handanovic, with the exception of that Sancho chance just before the break. Time for a change, Lucien?
56' - Barella is the second Inter player in the book for a rash sliding tackle on Akanji. No real need there.
53' - Better from Dortmund. Hakimi lofts in a deep cross from the right to Sancho, who has peeled beyond the back post. The Englishman helps it back across on the volley but Handanovic is alive and gets to it before Brandt can pounce.
51' - Three players - Sancho, Hakimi and Delaney have given the ball away under little pressure in the last sixty seconds.
50' - Hakimi slices a fairly routine clearance out of play for a throw in. It's been that kind of start from Dortmund.
47' - It's the hosts who have started on the front foot and some slick passing involving Asamoah, Brozovic and Barella gets the ball to Candreva in the box, back to goal. His first touch is decent and he hits one on the spin but it fizzes over.
46' - We're back underway. Has Favre got his team going?
HALF TIME: A few glimmers of light at the end of a poor half from Dortmund. That chance for Sancho was their only real moment of quality and they've struggled to penetrate the Italians at all. Inter didn't create all that much but did take advantage of some dozy defending from Nico Schulz to take the lead. Improvement needed from Favre's men.
45+1 - Chance for Sancho!
The first big opportunity for Dortmund and Sancho streaks away down the right side of the box. The angle is tight but he strikes it very well and Handanovic makes an excellent save with his right hand to tip it clear.
45' - The referee gets in Hazard's way, allowing Candreva to get away down the right. He gets clipped slightly but stays on his feet and eventually runs out of pitch.
43' - Dortmund get a freekick near the corner flag on the right hand side. Sancho tries to fire a pass to one of the men waiting on the edge of the box but it's not struck firmly enough and doesn't reach it's destination. Hazard tries to recycle it and it strikes Brozovic's arm. He gets booked but I'm not sure he knew much about that.
40' - Hazard, who has been quiet, is down after a kick from Brozovic. There wasn't much malice or force in it and the Belgian should be fine.
37' - Schulz bombs forward down the left, for about the first time in the game, and whips in a ball at a good height. But there's no real aerial threat from Dortmund from that kind of ball and de Vrij heads it clear easily.
33' - Penalty claim for Inter
Hummels tries to bring the ball out of defense but overruns it. With the defender out of position Candreva pings a ball from the right wing trying to find Martinez's run towards the penalty spot. He gets ahead of Akanji who makes contact as the striker tumbles. But there's not enough there to give it. Not great from either Dortmund man there though.
31' - Sancho again involved as Dortmund have their first shot. The English winger has moved to the left and teases his opponent before shovelling it to Witsel on the edge of the box. The midfielder decides to have a pop but it's way over.
30' - Sancho drops deep to start an attack which is then worked out right to Brandt. He exchanges passes with Hakimi who dwells on it just long enough to allow his cross to be blocked behind. The corner comes to nothing. Again, decent build up but no punch.
27' - Dortmund are painting some pretty enough patterns in the midfield but they've not yet had a shot.
25' - Schulz was a good couple of yards behind the rest of the defensive line there and Martinez took full advantage, great take from just about the first chance of the match.
22' - GOAL! Inter Milan 1 - 0 Borussia Dortmund (Martinez)
I said he was in form and Martinez latches on to a well-judged straight ball over the top from de Vrij, takes a lovely first touch and then stretches to poke past Bürki as he comes out. Schulz was a lot deeper than his teammates and the VAR decided the left back was playing him onside.
19' - Candreva hooks in a deep cross towards Martinez, who has peeled away to the back post. But it's just out of the in-form Argentinian's reach.
17' - Sancho once again finds a smart little ball, this time to get Brandt to the byline. Again, there's not many options in the box but this time Dortmund win a corner when the cross is cleared. Akanji somehow manages to head it away for Inter.
16' - Sancho slips in Hakimi on the overlap but there's not much to aim for and his low cross is hacked clear.
14' - Gagliardini makes a lung-bursting run down the inside right channel of Dortmund's box but Candreva overhits a relatively simple pass and it's a goal kick.
11' - Lukaku takes a ball down on his chest and pushes a past out to Asamoah. He lifts in a cross to the back post but it's easily dealt with by the visitors.
9' - Fairly tentative start, the teams largely feeling each other out in the middle third so far.
5 - Weigl throws out an arm to block a pass from Lukaku and a freekick is rightly awarded. It's about 25 yards from goal on the right hand side of the box. Candreva fizzes a low one across goal but no one can get a touch. That may also just have been a mishit but a touch would've made things tough for Bürki.
3 - It looks like Akanji at right center back, Weigl in the middle at the back and Hakimi and Schulz pushed forward on the flanks. Brandt is the furthest man forward for Dortmund in the opening stages and the visitors have started brightly.
1' - The players have posed for the photos, heard the music and exchanged the banners. We're off.
-- Stat attack
The teams will be out any minute but this is a pretty amazing stat while we wait.
-- Big win for RB Leipzig
Group G looks like it could be a tight one so Leipzig's comeback 2-1 win over Zenit St. Petersburg could be a big one. A stunning Marcel Sabitzer strike settled that one, which has just finished. The German side go top, for a couple of hours at least.
-- Warm ups at the San Siro
The players are out on the pitch in Milan. The San Siro is one of football's best known and biggest arenas and, as much as these Dortmund players are used to a big crowd, this will be a different type of test.
-- Peek behind closed doors
Dortmund have tweeted a picture of their dressing room (or locker room for the Americans among us). It actually looks pretty tight in there considering how vast the San Siro is. I'm enjoying the black tape on yellow bin bag at the front there. Do Dortmund bring their own?
-- Leipzig lead
If there's a better goal than the one just scored by Marcel Sabitzer in the Champions League this season, I can't wait to see it. The RB Leipzig man backtracked to control a deep cross on his chest on the left corner of the box, let it bounce and then finessed it with the outside of his right foot, sending it arcing over the keeper and in to the corner on the opposite side. An absolute peach and Leipzig have turned a halftime deficit in a 2-1 lead within 14 minutes of the restart.
-- Will Löw swallow pride on Hummels?
By far the most experienced Champions League performer in that Dortmund lineup tonight is Mats Hummels. With Niklas Süle's injury, there's been plenty of talk of a return to the national team for the 30-year-old who was axed by Joachim Löw after the World Cup. Another strong display in a big away game tonight will do him no harm at all, though Löw is a stubborn man.
-- Leipzig level
They took off their leading scorer at the break but RB Leipzig have equalized without Timo Werner. A smart angled finish from Konrad Laimer has made it 1-1 against Zenit St. Petersburg at the Red Bull Arena.
-- Bringing Bürki back
The other notable thing in that lineup is that Roman Bürki is fit to start after having to come off during the win over Gladbach at the weekend. That's a boost for the travelling side.
-- No Götze, Sancho returns
There's no place for Götze despite the absence of Alcacer as Favre opts for more of a 4-3-3, with Sancho, Hazard and Brandt up top and a solid looking trio of Witsel, Delaney and Weigl behind. I assume. A fairly wary looking XI. Elsewhere, Leipzig are behind at the break after a long range rocket from Yaroslav Rakitskiy.
-- Striker dilemma
Despite the absence of Reus tonight, Favre has several options for the positions behind the striker, with Hazard, Brandt, Sancho and Bruun Larsen among those vying for a spot. But it's replacing Alcacer that looks tricky. Götze, in his interpretation of the false nine, is the obvious option but it can leave BVB without a focal point. Not long until we find out now
-- Favre sees tough task
With a trip to Barcelona still to come, Lucien Favre is aware a pair of decent results against Inter will go a long way. "It's a very important match for my team. That's why we need to be totally focused on our game," the Swiss coach said in his pre match press conference.
But he's done his homework too: "Everyone knows we'll be up against a very, very good side. We watched several matches, we know this team. They're very efficient and strong in defence."
-- Improving opponents
Inter may not be the force they were but under Antonio Conte this season, the Italian club have shown signs that they might be ready to compete at the top once again. They have won every game in Serie A this season with the exception of a defeat to serial champions Juventus just before the international break. Strikers Romelu Lukaku and Lautaro Martinez both bagged braces in a 4-3 win at Sassuolo on Sunday and will surely pose some awkward questions of Dortmund's rickety defense this evening.
-- Red Bulls also in action
Dortmund aren't the only German club in action tonight, with RB Leipzig hosting Zenit St. Petersburg, who the Red Bulls knocked out of the Europa League in 2017-18. That kicks off at 18:55 and this is how the hosts, who are without injured Germany fullback Marcel Halstenberg but include Ademola Lookman, line up. I'm not sure why there's a Star Wars theme either.
-- One man who is back in contention tonight is Jadon Sancho, who was suspended by the club for that weekend win. He's got a point to prove.
-- Big week ahead
Borussia Dortmund start a key week of action with a stop at the San Siro in Milan in the Champions League before facing their local rivals Schalke in the Revierderby on Saturday. BVB are coming off a 1-0 win over Bundesliga leaders Borussia Mönchengladbach last weekend, but they will be withoutcaptain Marco Reus who has been struggling with the flu, as well as Paco Alcacer who is injured.