Mainz booked their place in the league phase of the 2025/26 UEFA Conference League after beating Rosenborg 4-1 (5-3 on aggregate) in the second leg of their play-off tie on Thursday evening.
Mainz 4-1 Rosenborg
Goals 1-0 Bell (28’), 1-1 Islamović (33’), 2-1 Lee (43’), 3-1 Weiper (44’), 4-1 Amiri (58')
Nursing a 2-1 defeat from last week’s first leg, Mainz immediately seized control of the game at their MEWA Arena, with Phillipp Mwene, Paul Nebel and Jae-sung Lee all lively in creating early chances.
Their pressure finally took its toll just before the half-hour mark when Lee’s close-range header was saved, only for the rebound to fall to veteran defender Stefan Bell, who lashed in a bouncing drive from a tight angle.
The Norwegian visitors hit back almost immediately though, as Bell went from hero to zero after miscuing a clearance, which allowed Dino Islamović to pounce and fire in the equaliser.
Mainz needed a few minutes to regroup but they stunned their visitors just before the break as Lee and Nelson Weiper struck in quick succession to put Bo Henriksen’s side firmly in charge.
Mainz tightened their stranglehold on the match early in the second half as they poured forward relentlessly. Although they initially squandered several presentable chances, a deflected shot from Nadiem Amiri ultimately proved to be the knockout blow, as Mainz comfortably saw the result to the final whistle.

Jae-sung Lee was hugely influential for Mainz in attack against Rosenborg. - IMAGO/Josh Hoffmann
Teams
Mainz: Zentner - Da Costa, Bell, Kohr - Caci (Veratschnig 80'), Sano, Amiri (c) (Maloney 90'), Mwene (Widmer 72') - Nebel, Lee (Kawasaki 90') - Weiper (Sieb 72')
Unused subs: Rieß, Batz, Leitsch, Nordin, Hanche-Olsen, Bobzien, Potulski
Out: Hollerbach (thigh), Dal (cruciate ligament)
Coach: Bo Henriksen
Rosenborg: Tangvk - Witry, Ceide, Nemčík, Pereira - Väänänen, Selnaes (c), Fossum (Reitan-Sunde 46') - Nordli, Islamović, Sæter (Ceïde 61')
Unused subs: Sandberg, Sørum, Reitan, Racic, Zeidan, Mortensen, Holm, Jenssen, Volden, Holmen
Out: Sansah (knee)
Coach: Alfred Johansson
As it happened!
![]()
Full-time: Mainz 4-1 Rosenborg
The Carnival club have done it; they're through to the Conference League proper, now. Bo Henriksen's men were relentless in their pressing for the first 70 minutes, which they managed to convert into goals. Ultimately, their first half onslaught proved enough, and though Rosenborg tried to find a way back late on, the game had already been put beyond all doubt thanks to captain Amiri's second half strike.
© IMAGO/Marc Schueler
Full-time
![]()
Amiri's goal the winner
The Captain gave his side a two-goal aggregate cushion with his second half strike. He has been substituted in the dying embers here, replaced by Kawasaki.
© Alex Grimm
Injury time
Two additional minutes are indicated.
Pereira goes close
Rosenborg combine well down the left before teeing up Pereira on the edge of the box. The left-back hits a low strike, which takes a couple of deflections on it's way through before going behind for a corner. Zentner didn't seem too sure where that was heading...
On target
Again, Rosenborg enjoy space down the left and again. a cross is sent into the box. Islamović attempts a spectacular bicycle kick, but misses the ball completely. It does fall to Witry, though, whose powerful effort is straight at Zentner.
Well away
Rosenborg make headway down the left flank before crossing towards the back post. It's a great ball, and Islamović would have had a tap-in, had Kohr not recovered in the nick of time to clear the danger for Mainz.
Mainz pressing less
The hosts are more willing to sit in their strong defensive shape when they don't have the ball now, instead of counter-pressing relentlessly, as they did for the first hour of the match.
Side netting
Caci crosses from the right touchline. It's aimed towards the back post, where Lee is waiting. The goalkeeper, Tangvk, tries to claim it but misjudges the flight of the ball completely, affording Lee a free header. However, the South Korean's effort lands in the side netting which draws a wry smile from Mainz's No.7.
![]()
The goalscorer departs
Weiper's goal just before half-time set Mainz up perfectly for their second half restart.
© IMAGO/Fotostand / Racocha
Nebel sees yellow
The No.8 goes into the book for a late challenge on Nemčík.
Double change
Bo Henriksen finally looks to his bench, bringing on Sieb and Widmer for Weiper and Mwene, who have put in a real shift and are met with rapturous applause from the home fans.
So close to a fifth!
Another superb Nebel corner is met at the front post by Caci, whose glancing header flashes across the face of goal.
Wanted it more
A hopeful ball forward form Nebel is chased by Weiper, who is isolated up front, but manages to win a corner thanks to some excellent hold-up play.
Rosenborg continue to chase
Mainz are allowing the visitors a little more time on the ball, opting to sit back a fraction more. Rosenborg look to capitalise on their increased possession, making an offensive change to bring on Ceïde for Sæter.
![]()
Jumping for joy
Mainz are just a few minutes from the Conference League proper now. Will they hold on?
© IMAGO/Josh Hoffmann
Knockout blow?
It's now 4-1 on the night and 5-3 on aggregate as Amiri's left-footed effort from the edge of the box takes a deflection and flies into the net.
Väännänen booked
The Rosenborg man is the first to go into the book this evening for a late challenge on Sano.
![]()
Weiper's celebration
The young German forward was elated after adding his side's third shortly before half-time. His performance in the early stages of the second half also suggest that he's not satisfied with just the one goal...
© IMAGO/Eibner-Pressefoto/Florian Wiegand
No signs of slowing
The hosts are continuing to play at the breakneck speed they showed in the first half. Rosenborg are being pinned back deep in their own half whilst Mainz put cross after cross into the box.
Another corner
A deflected Nebel cross produces another corner for Mainz. It's whipped in from the right, but Rosenborg deal with it well.
Back underway!
Mainz get the ball rolling again here and immediately look to attack through Nebel, but it brings nothing. Mainz are unchanged after the break, but there's one alteration for the visitors.
Kick-off!
![]()
Half-time: Mainz 3-1 Rosenborg
A rollercoaster half draws to a close for the Carnival club. Mainz were electric from the off, taking a deserved lead inside half an hour through Bell. Despite the one-way traffic, Islamović levelled for the visitors, punishing a defensive error from Bell with ruthless precision. The equaliser caused Mainz to wobble for a short while but a quickfire double from Lee and Weiper saw them roar to a comprehensive lead just before the break.
© IMAGO/Marc Schueler
Half-time
Weiper adds a third!
What a couple of minutes for Mainz. Almost immediately after the restart, the Carnival club win the ball back and storm forwards. It's Amiri who fizzes a cross in from the right touchline. Lee produces an excellent dummy to allow the ball to roll to Weiper inside the six-yard box, who needs only smash it past Tangvk.
Lee restores Mainz's advantage!
It's Caci down the right who puts a cross into the middle this time, and it's Lee who gets his head to it, arching his neck to guide the header past the Rosenborg goalkeeper.
Woodwork!
So unlucky for Mainz. A spell of prolonged Mainz pressure culminates it Nebel dancing his way through on the right before picking out Kohr with a cross to the back post. The defender gets his head to it, but it clatters off the post.
![]()
Wind out of their sails
Mainz were on cloud nine after taking the lead through Bell, but since the equaliser, they've not managed to fashion any clear-cut opportunities to retake their lead.
© IMAGO/Hendrik Hamelau
Islamović brings his side level!
It's the goalscorer, Stefan Bell, who is at fault. The defender fails to clear a cross which gets caught under his foot. Islamović pounces on the loose ball, drives at Zentner and slots it past the keeper. Clinical from the visitors.
Another Nebel corner
The No.8 takes an out-swinger from the right. It goes through all the bodies in the middle before landing at the feet of Amiri. The Mainz captain takes a snap-shot, which is deflected right back to him and allows Amiri to reset play. It's one-way traffic at the moment...
Bell on the rebound!
Mainz have the lead they deserve! A cross comes in from the right, which Lee meets with his head from close range. The South Korean's effort forces a great reaction save from Tangvk, but he can only parry it into the path of Bell, who smashes it home emphatically to open the scoring.
Caci slips
A promising counter-attack opens up for Mainz. Mwene picks the ball up in acres of space on the left before driving inside. He moves it out wide to Caci on the right, who is about to deliver a cross, but slips at the crucial moment.
Challenges flying in
The contest has become rather more physical in the last couple of minutes. Most recently, Amiri was penalised for a foul on Selnæs.
![]()
Weiper in amongst it
The young forward has been a problem physically for the Rosenborg back-line so far and has had a couple opportunities, though he is yet to truly test the goalkeeper.
© IMAGO/Hendrik Hamelau
Amiri takes
Mainz's captain steps up to hit the free-kick. He shoots with some venom behind the effort, but it's straight at the wall.
Lee goes clear!
Following a Nebel header, the South Korean is played through on goal, but his effort in the one-on-one is straight at the goalkeeper. It wouldn't have counted, however, as he was in an offside position, but Nebel was deemed to have been fouled in the build-up, so it's pulled back for a Mainz free-kick.
On target
It's Mwene again who is the one creating chances for Mainz. Weiper lays it off for the wide player, who cuts in off the left flank and curls an effort towards the far post with his right boot. However, it's straight at Tangvk.
Weiper with another headed chance!
Again, Mwene manages to play a ball down the line for Lee. This time, the Korean's cross makes it into the box, but it's just too high for Weiper, who makes contact with it, but can't steer it goalwards.
Lee wins the corner
Mwene receives the ball out wide on the left. He slips it through for Lee to run onto, but his attempted cross is blocked behind for a corner. Nebel takes the subsequent set-piece and Weiper gets his head on it in the middle, but he can't maintain the accuracy as the ball drifts wide of the right post. Better from Mainz.
MEWA Arena bouncing
The Mainz fans are in full voice in the opening stages here as they try to encourage their team to pull off a comeback in this second leg.
Early set-piece
Rosenborg draw a foul from Kohr on Mainz's right flank. A whipped cross is put in from the free-kick, but Nebel is there to clear the danger.
And we're off!
The ball is rolling here at the MEWA Arena.
Kick-off!
Weiper here to stay
The young striker starts today having put pen to paper on a new contract with the club until 2029.
More on those teams
Visitors Rosenborg make two changes to the side that won the first leg in Trondheim, with Reitan-Sunde and Ceide making way for Fossum and Saeter, who scored the winning goal. Mainz make just one change with Weiper coming in for the injured Hollerbach.
Rosenborg starting lineup
Tangvik - Witry, Ceïde, Nemčík, Pereira - Vaananen, Selnaes (c), Fossum - Nordli, Islamovic, Saeter
Rosenborg subs
Sandberg, Sörum, Jenssen, Mortensen, Racic, Reitan, Volden, Holmen, Zeidan, E. Ceide, Holm, Reitan-Sunde
Mainz subs
Batz, Bobzein, Hanche-Olsen, Kawasaki, Leitsch, Maloney, Nordin, Potulski, Riess, Sieb, Veratschnig, Widmer
![]()
Rosenborg head coach Alfred Johansson's thoughts
"It is a game in which we expect to score goals and which we will go out to try to win. That's how it is when you are a coach and player in Rosenborg."
© IMAGO/Ole Martin Wold
![]()
Germany call-ups
Mainz have two players in Julian Nagelsmann's squad for the September FIFA World Cup qualifiers, with Paul Nebel and Nadiem Amiri included. Amiri has already played for the national side, but this is Nebel's first call-up.
© Frederic Scheidemann
![]()
Danny Da Costa: "An early lead would be good"
"We need to keep calm and remain patient during the game. An early lead would be good but the main thing is that we get through after 90 minutes. We showed no issue with our work rate against Köln, so I'm not worried about that for tomorrow."
© Alex Grimm
![]()
Henriksen's thoughts on Rosenborg
"We are well prepared to deal with the opponents' 4-4-2 low block. We know it's going to be difficult. Despite this, we believe we can create chances."
© IMAGO/Marco Steinbrenner/DeFodi Images
![]()
Mwene: We need to be more effective
"Two defeats in a row are obviously not what we're aiming for," said the Mainz defender after the Cologne game. "Things aren't going well going forward at the moment; we're lacking composure. We need to be more effective in the final third. Now we're thinking about Thursday and want to put on a firework display. What happened today won't matter anymore."
© IMAGO/Harry Langer/DeFodi Images
![]()
Weiper's time to shine
As well as losing to Cologne and seeing Nebel dismissed, Mainz also lost new signing Benedict Hollerbach to injury. Nelson Weiper was his replacement, and the striker will be eager to make his mark in Hollerbach's absence. The 20-year-old made 23 Bundesliga appearances in 2024/25 before jetting off to the U21 European Championships with Germany, where he scored four goals in six games as they finished runners-up.
© IMAGO/Jan Huebner
Eagerly awaited second leg
Rosenborg won't have had a league fixture in between their victory against Mainz and their trip to the MEWA Arena after their game against Sandefjord was postponed. They are already 18 games into their league season though, meaning it should have little effect on their momentum going into this encounter.
![]()
Mainz stumble into the season
Their preparation for this crunch tie wasn't ideal, as they fell to a 1-0 loss at home to Cologne in their Bundesliga opener on Sunday. The sending off of Paul Nebel turned the tide against them, and ultimately swept them away, with their backline unable to handle to onslaught of Cologne attacks. There were, however, plenty of positives before Nebel was given his marching orders, and Bo Henriksen's men will be determined to return to winning ways.
© KIRILL KUDRYAVTSEV
![]()
Part two on the horizon
The first leg of this play-off tie got off to an exciting start, with Nadiem Amiri's long range stunner sparking an impressive Rosenborg side into action. The Norwegian side clawed their way back into the game, before breaking Mainz hearts with a late winner courtesy of Ole Saeter, giving the 05ers plenty of work to do in front of their own fans in the second leg.
© OLE MARTIN WOLD
Welcome!
Mainz have work to do if they're to reach the league phase of the 2025/26 UEFA Conference League as they prepare to host Rosenborg at the Mewa Arena on Thursday needing to overturn a 2-1 first-leg deficit.
First leg
Rosenborg 2-1 Mainz
Goals: 0-1 Amiri 26' (assist: Nebel), 1-1 Islamović (pen. 43'), 2-1 Sæter 90' (assist: Selnæs)
Mainz survived an early scare when Robin Zentner was called on to push away Simen Nordli's fierce strike, before Rosenborg's Jesper Reitan-Sunde fired wide. Mainz then tested the home defence for the first time with a header from summer signing Benedict Hollerbach, which Sander Tangvk did well to tip round the post.
The visitors eventually found a way through when Nadiem Amiri thundered in a superb long-range opener, Rosenborg found an equaliser on the stroke of half-time courtesy of Dino Islamović's penalty after Kaishū Sano was adjudged to have brought down Reitan-Sunde.
In the second half, clear-cut chances were otherwise few and far between, but Rosenborg made the most of theirs in the 90th minute when substitute Ole Sæter headed in Ole Selnæs' cross.

Nadiem Amiri broke the deadlock, just days after firing Mainz past Dynamo Dresden in the DFB Cup first round. - OLE MARTIN WOLD