Dortmund made a confident start, with Ramy Bensebaini heading against the woodwork inside the opening 10 minutes. Donyell Malen struck the crossbar as BVB turned the screw, before Marcel Sabitzer sent a scuffed half-volley off target. Dinamo goalkeeper Danijel Zagorac pulled off a brilliant save to stop Malen from converting a Bensebaini cross, but could do nothing about Dortmund's next attempt as Gittens capped a driving run with a superb 18-yard finish. When the whilstle blew for half-time, Gregor Kobel hadn't had a single save to make, such was Die Schwarzgelben's dominance.
It was much more of the same from Dortmund after the restart, with Waldemar Anton's volley following a corner testing the reflexes of Zagorac. Bensebaini went one better from Pascal Groß's next dead-ball delivery, the Algerian glancing in a header to give the visitors daylight. The effervescent Malen found the fingertips of Zagorac, before substitute striker Serhou Guirassy added a late third to put the seal on an almost note-perfect rehearsal for Saturday's Klassiker against Bundesliga leaders Bayern Munich.
Match stats
Dortmund have 12 points from five matches in the league phase (W4, L1), keeping them only three behind leaders Liverpool.
Gittens scored his fourth Champions League goal of the season.
Julian Brandt made his 44th Champions League appearance, putting him level fourth with Stefan Reuter and Marcel Schmelzer in Dortmund's all-time player rankings for most games in the competition. Łukasz Piszczek (54), Mats Hummels (66) and Marco Reus (72) top the pile.
Nuri Şahin played from start to finish in Real Madrid's 6-2 drubbing of Dinamo in the 2011/12 group stage.
Dinamo's 9-2 loss to Bayern on Matchday 1 handed them the unwanted record of most goals conceded in a single Champions League game.
Zagreb have faced German opposition 20 times in UEFA competition to date, losing 14, drawing three and winning three. This was their first meeting with Dortmund.
Champions League League phase, Matchday 5 League phase, Matchday 5 Stadion Maksimir, Zagreb
Full-time: Zagreb 0-3 Dortmund
A comprehensive victory for BVB in the end. Dinamo never really looked like threatening the German side, especially after Bensebaini doubled the visitors' lead. Guirassy sealed the deal at the end for Dortmund with a cool finish on his return to the side, but BVB looked in complete control for the entire match.
There are to be three minutes added on at the end of this half.
90'
Guirassy seals the deal
Zagreb fail to deal with a long ball up from Anton, shanking the clearance. It loops back over their back-line falling to the feet of Guirassy, who finishes coolly into the bottom corner.
A cross comes in from the right towards Hoxha, but he can't quite get his shot away. The ball then bounces around the BVB box before falling to Špikić, whose subsequent shot is blocked.
83'
Effort from Špikić
The substitute picks up the ball on the edge of the box and lets an attempt fly. He's off balance and can't generate much power behind it, but it does force the first save from Kobel in this second half.
Bensebaini rises highest
The full-back leapt excellently to double Dortmund's lead not long after half-time.
The visitors break once again, finding Malen free down the right. BVB have a three-against-two, but Malen can't find Duranville or Guirassy who are waiting at the far post with a cross.
72'
Kulenović gets into the box
A prolonged period of possession from the hosts culminates in the ball being fed through to Kulenović into the BVB box, but he can't quite get his shot away.
66'
Kulenović booked
The recently introduced Kulenović picks up a late challenge on Schlotterbeck.
BVB break quickly. Malen works it out to the newly-introduced Reyna, before getting it back and shooting. It takes a deflection and Zagorac has to make a fine fingertip save to glance it round the post for a corner.
Schlotterbeck storms up the left channel and attempts a cross. It falls to Gittens, whose attempted cross is also blocked, this time behind for a corner. Groß takes in towards Anton, who strikes on the volley but the keeper tips it wide for another corner.
Gittens celebrates
The Englishman's first-half goal remains all that separates the two sides .
BVB go into half-time in the lead. It was a slow and sloppy start to the game from the German side; they dominated possession but the final ball was constantly found to be lacking. Zagreb have relied on being solid at the back and breaking quickly but in defending so deep, have struggled to get men up the pitch when they have had opportunities. Gittens opened the scoring with a lovely curled effort, just seconds after Malen could've taken the lead with a headed attempt.
A lengthy VAR check was underway for a potential penalty for Dinamo, but it has since been dismissed.
42'
Gittens opens the scoring!
What a goal from the youngster. He picks up the ball from deep, driving towards the Dinamo defence. Twisting and turning on the edge of the box, he creates the space for a shot and whips a lovely finish into the top-right corner.
It's Malen again with a chance. Bensebaini puts a deep cross into the winger, who looks certain to score but for a fantastic save from Zagorac. How did he keep that out?
36'
Scuffed by Sabitzer
Bensebaini whips a cross into Sabitzer in the box, who attempts the first-time shot on the half-volley, but he makes contact with his shin and sends the ball well over the bar.
31'
Schlotterbeck finds Malen
The Dutch winger pops up in the Dinamo box again, receiving a pass from Schlotterbeck, but he slips before he can get a shot or pass away.
28'
Off the bar again!
This time it's Malen. He plays a nice one-two with Sabitzer and charges into the box. He attempts a chip over the keeper but the angle is tight and there's just too much on it as it clips the bar.
26'
Kačavenda breaking again
A Brandt slip gives way to a counter attack for Dinamo. Kačavenda races forward, but he's crowded out by Nmecha and others before the chance can really open up.
23'
Dinamo break
Schlotterbeck gives the ball away at the half-way line and Dinamo break quickly. Bensebaini gest back to recover and make the challenge on Kačavenda. It goes behind for a corner but Zagreb can't do anything with it.
21'
Final ball lacking
Dortmund have done well to get up the pitch but so far the final pass isn't quite there. Gittens tried to find Beier in the box, but the striker couldn't get his shot away. Then Malen is released to the byline, but his attempted cross is straight at the keeper.
20'
Torrente booked
The Spaniard picks up the first yellow of the game, after a rash challenge on Gittens prevents a Dortmund counter attack.
Zagreb counter-attack well and work it out to Stojković on the left. He takes a shot but it's deflected behind for a corner. Dinamo can't make anything of the corner though, and BVB get it clear.
16'
Good effort from Pierre-Gabriel
From a throw-in down the left flank, the full-back picks up the ball and goes on a marauding run. He shifts the ball onto his right foot before letting a curling shot fly from outside the box, which has Kobel worried as it travels just over the bar.
11'
Another corner
Brandt takes again, an out-swinger this time. Bensebaini meets it with a powerful header, but it's well wide.
9'
Off the bar!
A deep ball from Anton again is floated over the Dinamo back-line into Bensebaini, who had stayed high. He connects with a looping header that's beyond Zagorac, but rattles the bar and Zagreb clear.
6'
First corner of the game
A long ball from Anton is searching for Gittens, but is headed behind for a corner before reaching him. Brandt takes and Schlotterbeck wins the header, but a free-kick is given for a foul on a Dinamo player.
3'
First effort from Sabitzer
The Austrian receives the ball inside the box from the left flank. He takes a touch and shoots, but his effort is blocked.
1'
First meeting
Who will come out on top in this first ever competitive meeting between these sides?
1'
And we're off!
It's Dortmund who get the ball rolling here in Zagreb.
Former coach in attendance
Former BVB coach Edin Terzić is present this evening. The German-Croatian coach led Dortmund to last season's Champions League final. Will his presence spur on his former side?
Scoring streak
Zagreb will be hoping to extend their run of scoring at least two goals in every match they have played so far this season in UEFA competition.
More on those teams:
Dortmund make just one change from their 4-0 victory over Freiburg in their last outing: Ryerson drops to the bench in favour of Groß. Doubts were cast over Guirassy's availability prior to this game, as he missed the weekend fixture with flu, but he returns to the bench this evening. For contrast, Zagreb make six changes to their side that most recently drew 0-0 with Rijeka in the Croatian league. They appear to be playing without a traditional striker, as Kulenović starts on the bench. Instead, attacking midfielder Kačavenda will play in a more advanced role, with Baturina positioned slightly deeper behind him.
While this is the first time that Dortmund have faced a Croatian side, Dinamo have plenty of experience against German clubs, with a record of three wins, three draws and 13 defeats. Five of these 19 matches have been against Bayern Munich, whom they last faced on Matchday 1 of the current campaign, losing 9-2.
The Croatian club are contending with a spate of injuries at the moment, with five key players out of action or doubtful: captain Arijan Ademi (thigh), Croatia defensive midfielder Petar Sučić (metatarsal); Josip Mišić, another No.6; centre-forward Bruno Petković (muscular issue); and goalkeeper Ivan Nevistić (back).
Bundesliga alumni
The Dinamo squad features a number of players who may be familiar to Bundesliga fans: Ronaël Pierre-Gabriel (ex-Mainz), Marko Placa (ex-Schalke) and Nathanaël Mbuku (ex-Augsburg).
"We are excited about this match, against such a big opponent. Everyone knows how special the Champions League is and I believe we will show ourselves in the best light. I expect great effort, fighting spirit, and aggression. They have a better team than last year. We’ve analysed all their matches and tried to find weaknesses, but we’ll keep that internal as we look for opportunities to surprise them."
"Our away record this season is not good. We are currently not living up to our standards, but of course we are going to Zagreb to get something," said Kehl of the BVB's six defeats, a draw and two wins in nine away matches in all competitions this season. "We want to take the support of our fans with us tomorrow. Even though it will certainly be very heated, we believe that we are prepared and that a win will also prepare us well for the game against Bayern Munich."
"We're glad that he's more or less healthy again and can be in Zagreb. We'll have to see if he's ready to play the full 90 minutes tomorrow. But Serhou is a very, very important player for us, especially in games like this," said Kehl of strike sensation Guirassy, who missed the weekend's 4-0 league win over Freiburg with an infection and was at one point doubtful to make the trip to Croatia. "He's a real presence, leads by example and makes himself available to his teammates. He's someone you don't want to do without. That's why we obviously want him to be there tomorrow."
"First of all, we've established a very good starting position with nine points from four games and seventh place in the table. Now we are exactly in the positions we wanted to be in," said Dortmund sporting director Sebastian Kehl in the pre-match presser. "A win would be a big step towards the last sixteen. Our goal is to get into the top eight. And it would be very, very helpful tomorrow not just to play well but also to get a good result to take back to Dortmund."
New opposition
This will be the first time that Dortmund have faced any Croatian opposition competitively, providing the opportunity to start things off with a win.
All coming together
Nuri Sahin's men will have Waldemar Anton, Gregor Kobel and Julian Ryerson available for their trip to Zagreb, all of whom were unavailable for their previous game against Sturm Graz.
Gio Reyna also came off the bench to make just his second appearance of the season against Freiburg, and first since the opening game against Frankfurt, having recovered from a groin injury.
Dortmund secured all three points on Matchday 11 with a convincing 4-0 win over Freiburg.
Dortmund - the story so far
Beaten finalists last season, BVB are the best-ranked German club ahead of Matchday 5. The Black-Yellows are seventh out of 36 clubs, following a 3-0 win in Bruges, 7-1 rout of Celtic, 5-2 loss to holders Real Madrid and a 1-0 triumph at home to Graz.
Dinamo have shown a marked improvement since a chastening 9-2 loss to Bayern Munich on Matchday 1. The Croatians - who qualified for the league stage via a play-off win over Qarabag - steadied the ship with a 2-2 draw with Monaco, before recording back-to-back wins against Salzburg and Slovan Bratislava.
Welcome!
Thanks for joining us for build-up and live coverage of Borussia Dortmund's fifth UEFA Champions League game of the 2024/25 league phase away at Dinamo Zagreb on Wednesday.