Dortmundbeat the same opposition 3-2 at home in the Bundesliga the previous weekend but it was Leipzig midfielder Marcel Sabitzer who had the first chance of Thursday’s showpiece event in Berlin - volleying over from outside the area. It wasn’t long before Dortmund created a clear opening of their own, though, a move which started when Marco Reus smartly dispossessed Kevin Kampl in the BVB half. Haaland and Mahmoud Dahoud then helped the ball onto Sancho and the England winger - who scored twice in the last match - inched into the area before whipping a wonderful strike into the far corner. Leipzig responded well and both Emre Can and Jude Bellingham picked up yellow cards as Dortmund worked hard to contain Julian Nagelsmann’s team. With Dortmund striker Haaland back from injury, however, Leipzig could never rest easy. The Norwegian still had plenty to do when he received the ball 30 yards out from Reus approaching the half hour mark, but he burst into the penalty box - showing considerable strength to drop Dayot Upamecano the floor - before curling left-footed past Peter Gulacsi. Alexander Sörloth shot into the side netting before Upamecano made an important tackle on Haaland five minutes before the break, but in the final minute of the half he couldn’t prevent the 20-year-old launching another decisive Dortmund counter. The impressive Reus was sent clear, and he took out Leipzig keeper Gulacsi by unselfishly squaring the ball for Sancho. The 21-year-old then calmly stepped inside Marcel Halstenberg before slotting into an empty net from a couple of yards out.
Nagelsmann sent on Christopher Nkunku and Yussuf Poulsen for Hee-Chan Hwang and Sörloth at half-time in an effort to shake up his team, but Dortmund had fresh legs too with Thorgan Hazard replacing Bellingham. The Leipzig changes almost worked instantly, with Nkunku clipping the bar from six yards with a first-time effort after being nicely picked out by Amadou Haidara. An improved second-half showing continued when both Sabitzer and Dani Olmo hit the target from range, although Dortmund keeper Roman Bürki was twice well positioned to smother the ball. A three-goal deficit always seemed like too much to overcome, and a stretching Hazard could have made it four midway through the half only to touch the ball wide from a clever Reus cutback. Leipzig never gave up hope, however, and they pulled a goal back with 19 minutes remaining when Olmo lashed home from the edge of the area moments after substitute Emil Forsberg had struck the post. The Spaniard almost got a second soon afterwards, but he shot narrowly wide from just inside the area after being set up by Poulsen. Nkunku then had a shot deflected behind by Mats Hummels before Gulacsi denied Sancho his hat-trick, but Dortmund sealed a memorable win when Haaland scuffed home his second goal of the game with three minutes left.
Sancho was the most dangerous attacking outlet in this season's DFB Cup, scoring six goals and getting five assists.
The last time Dortmund had won this competition was in 2017, when Ousmane Dembele and Pierre-Emerick Aubameyang fired them to a 2-1 win over Eintracht Frankfurt.
Dortmund interim coach Edin Terzic won his first major trophy as a coach. Nagelsmann is still waiting for his.
Poulsen was the second top scorer in this season's competition with five.
Leipzig - the Bundesliga's youngest club - were runners-up in 2019, losing 3-0 to Bayern.
Leipzig duo Kevin Kampl and Marcel Halstenberg were both previously on Dortmund's books. Haaland hit 29 goals in 27 games for Leipzig's sister club Red Bull Salzburg before leaving for Dortmund in December 2019.
BVB win their fifth DFB Cup! The damage was done in a blistering first-half performance in which they put three past Leipzig without reply. Olmo pulled a goal back in the second half with a screamer from the edge of the box, but Haaland's second of the game late on sealed the deal!
Sancho makes amends here, scurrying down the right wing as Dortmund go three-on-two on the counter-attack. The Englishman bides his time before squaring the ball to the unmarked Haaland, who buries it from the edge of the box!
Sancho times his run brilliantly to beat the offside trap. He's one-on-one with Gulacsi and takes it around him, leaving an empty net. But instead of passing it in with his left foot, he takes an extra touch and tries to find Reus arriving in the middle, giving Gulacsi just enough time to scramble back and make the block. That could have been game over right there!
WIDE FROM NKUNKU!
It's breathless, end-to-end stuff now! Leipzig pour forward and when Nkunku receives the ball inside the Dortmund box, Hummels can only stand off him so as not to give a penalty way. The Frenchman manages to shoot, but it deflects off Hummels' ankle and goes out for a corner.
VITAL SABITER INTERCEPTION
Dortmund break forward and a combination of Sancho, Haaland and Guerreiro try to pick a hole in the Leipzig defence. They nearly do so, but Sabitzer slides in to clear for a corner just before it comes back to Haaland.
The Dortmund captain breaks forward down the left, cuts inside Laimer and shoots. It's blocked by Upamecano and goes out for a corner.
LEIPZIG ALMOST GET A SECOND!
Sancho's pass back to Bürki isn't strong enough, allowing Nkunku to nip in ahead of the Dortmund goalkeeper. He's too wide to shoot, but lays it back for the onrushing Olmo, who's first-time shot from 16 yards goes wide of the far post!
Terzic's response to that goal is to bring on experienced midfielder Delaney for Dahoud, who was on a yellow card, in a bid to tighten things up in the middle.
Reus does superbly to hold off his marker as he sprints into the right-hand side of the box on the counter. He's a touch too wide to get a shot away but still spies Hazard arriving unmarked at the back post. He squeezes a pass through to him but the Belgian is stretching for it... and can only poke it wide from close range!
HIGH AND WIDE FROM OLMO
The Spaniard has a bit of space in midfield and surges forward. He's still a good 30 yards from goal but lets rip anyway. It goes well off target, much to Nagelsmann's frustration on the touchline.
TWO MORE CHANGES
Nagelsmann brings on another attacker in Forsberg, replacing the more defensive-minded Kampl, while Laimer makes just his second competitive appearance of the season after recovering from a serious knee injury. Mukiele is the man to make way for him in midfield.
Leipzig only half clear a Dortmund free-kick and it comes to Hummels on the edge of the area. He chests the ball down and gets a volley away, but it bounces wide of the goal.
Nagelsmann's side have been camped out in Dortmund's half for the past few minutes. They have to go for it really. BVB's game management has been good though; they're defending in numbers and not letting themselves be bullied in the tackles. Dortmund will surely get one or two chances on the break as the game wears on though...
ALMOST FROM POULSEN!
Leipzig's second good chance of the half - that's already more than they managed in the first 45 minutes. Poulsen takes a shot on the turn from 16 yards, but it takes a deflection off Akanji's leg and rolls just wide of the post.
REUS ALMOST IN!
A fourth goal would surely break Leipzig's resistance - and Dortmund go very close here. Piszczek is given time and space on the right wing and his teasing cross into the centre looks destined for Reus's boot, but Kampl just gets there at full stretch to clear.
OLMO HAS A GO
Leipzig are looking for an early foothold back into this game and have begun aggressively. Olmo has a shot from outside the box, the ball skipping off the wet turf - it's raining heavily in Berlin - but it's straight at Bürki, who makes the save.
NKUNKU HITS THE BAR!
Both teams have made changes at the break. Leipzig have brought on Poulsen and Nkunku for Sörloth and Hwang, while Hazard has replaced Bellingham for Dortmund. The attacking substitutions almost pay instant dividends for Leipzig as Nkunku steals in behind Hummels to a cross from the left inside 20 seconds of the restart, but he can only hit the crossbar!
BVB have had five shots so far in this game, scoring with three of them. It's hard to say it's undeserved as they've been solid at the back and have frustrated Leipzig all half. Sancho's brace and a strike from Haaland have given them what looks to be a comfortable lead at the midway point.
Haaland does brilliantly to hold off Upamecano again to initiate a Dortmund attack that sends Reus clean through on goal. He unselfishly squares it to the unmarked Sancho, who is left with a simple finish. It's initially not given for offside against Reus, but VAR confirms the goal should stand!
It's Dortmund's turn to counter this time and Sancho tears away down the right flank before passing to Can. He tries to take on Upamecano but is eventually crowded out by the centre-back and Kampl.
Leipzig counter well through Hwang, who sprints forward into space down the left. He sees Sörloth making a run on the opposite side of the pitch and tries to slot it into him, but Bürki is alive to the danger and sprints off his line to smother the ball.
LEIPZIG'S BEST CHANCE!
Neat footwork from Olmo in a central position just outside the Dortmund box gives him time to spy Sörloth in space, over to his right. The Spaniard passes to his teammate, who quickly gets a shot away, but his low drive can only rustle the side netting at the near post.
CHANCE FOR REUS!
The Dortmund captain scurries into the left-hand side of the box and draws Gulacsi off his line. He squares it into the middle for what would be an easy tap-in, but there's nobody there to finish it off and Leipzig breathe a sigh of relief.
It might just be Haaland's second goal in the DFB Cup this term, but it's his 37th overall in 38 competitive outings,
Two shots, two goals! Absolutely clinical stuff from Dortmund here and just at the right time to nip Leipzig's pressure in the bud. Reus drives forward and slots a pass into Haaland's feet. The Norwegian does well to hold off Upamecano's robust challenge before cutting on to his left foot and curling the ball into the far corner past Gulacsi.
The teenager is the second Dortmund player to be cautioned, having crunched into Kampl rather too strongly, according to the referee.
LEIPZIG UPPING THE TEMPO
The red-and-white shirts are spending increasingly more time in Dortmund's half now as they seek to force an equaliser. Haidara's been a lively presence on the left, but Leipzig haven't managed to get behind BVB's defence yet and have only really threatened from set-pieces.
ANOTHER LEIPZIG FREE-KICK
Nagelsmann's side win a free-kick again, this time on the right-hand edge of the Dortmund box. Halstenberg takes it, firing a vicious left-footed shot into the box, but it's blocked by a Dortmund leg before it has a chance to trouble Bürki.
CHANCE FOR LEIPZIG
Can gets the first yellow card of the game for a hefty challenge on Olmo, about 40 yards from the Dortmund goal. It's in a good position for Leipzig, but Mukiele heads over at the back post from Sabitzer's deep delivery.
JOINT TOP SCORER
Sancho's strike was his fifth in the DFB Cup this season, moving him level with Leipzig striker Poulsen, who's on the bench today, as the competition's top scorer in 2020/21.
That goal has obviously given Dortmund a boost and they're winning more challenges at the moment, and trying to find Haaland at every opportunity as they look to build on this momentum.
LOVELY GOAL FROM SANCHO!
Reus picks Kampl's pocket around the halfway line and quickly plays a ball forward into Haaland's path in the inside-right channel. He checks his run, cuts inside and finds Dahoud, who swiftly finds Sancho to his left. The Englishman, who struck twice against Leipzig at the weekend, cuts onto his right foot and curls a brilliant shot into the far corner!
The first real opening of the game falls to Leipzig as Kampl floats a ball into the box towards Sörloth. He can't get a shot away but it falls kindly for Sabitzer on the edge of the area, sitting up nicely for him to shoot. He strikes it well, but the ball sails over!
Neither side is giving the other an inch, as you'd expect. Can sends out a statement of his intent with a crunching tackle withing the first few seconds, before Dortmund win a corner. Sancho curls it in from the right, but Leipzig clear.
AND WE'RE OFF!
Leipzig get the ball rolling in Berlin!
OUT ON THE PITCH
The players are line up on the Olympiastadion turf as the German national anthems is played. Just the coin toss to go and then we'll be underway!
EYES ON THE PRIZE
Leipzig are aiming to lift the trophy for the first time today - for Dortmund it would b a fifth cup triumph.
Nagelsmann and Terzic already have their names in the DFB Cup history books before a ball is even kicked here: at 33 and 38 respectively, they're the youngest coaches ever in the competition's cup final.
WATCH: NAGELSMANN: "THE FINAL WON'T BE MUCH DIFFERENT"
Leipzig supremo Julian Nagelsmann gave his thoughts to bundesliga.com after the final whistle on Saturday, and says he is expecting a very similar match today.
Haaland may have missed the weekend's match but he clearly enjoys playing against Leipzig. The Norwegian has scored four goals in two games against them, scoring twice each time he has faced Nagelsmann's side.
Leipzig won two of their first three encounters with Dortmund but have not managed to beat them since October 2017. BVB have triumphed in five of the subsequent seven matches, with two draws, and overall the Black-and-Yellows have emerged victorious on six occasions.
WATCH: DORTMUND 3-2 LEIPZIG
Check out all the goals and highlights from the last time the sides met - just five days ago on Matchday 32 in the Bundesliga.
TEAM NEWS - LEIPZIG
Julian Nagelsmann has brought in four new faces following Saturday's game. Halstenberg, Mukiele, Haidara and Sörloth all start, coming in for Angelino, Henrichs, Orban and Forsberg.
TEAM NEWS - DORTMUND
The good news for the away side is the return of top scorer Haaland to the starting line-up. The striker missed the Bundesliga meeting between these sides at the weekend with a knock, but he begins here as one of three changes interim head coach Edin Terzic has made from the weekend. Hazard drops to the bench, as does Reyna, with Bellingham slotting into the team in central midfield alongside Dahoud and Can. As expected, Bürki replaces the injured Hitz in goal.