An early Marco Reus goal and a second-half brace from the returning Erling Haaland were enough to give Borussia Dortmund a 3-1 win over Mainz, which sent Marco Rose's side top of the Bundesliga.
The hosts got off to a flying start, taking the lead inside three minutes. Mainz only had themselves to blame as they failed to clear Thomas Meunier's cross, which allowed Marco Reus to smash a left-footed drive into the top corner.
Meunier then squandered a good chance to make it two with 20 minutes played, side-footing Haaland's cut-back past the post.
After this, Dortmund took their foot off the pedal for the rest of the first half, while always keeping their opponents at arm's length - Mainz had just one shot during the entire opening period. Haaland did have a great chance just before the break, but his effort was well saved by Robin Zentner.
Early in the second period he did grab his goal though, smashing home a penalty after Dortmund were awarded a spot kick following a VAR review.
Mainz offered very little in response with Gregor Kobel forced into just one second-half save before Mats Hummels struck the post.
Dortmund thought they were heading for a rare clean sheet, only for Kobel to fluff his clearance, allowing Michael Burkardt to grab what turned out to be a consolation with three minutes of normal time left.
In stoppage time, Haaland grabbed the decisive final goal, smashing the ball into the net after great work from Jude Bellingham.
The only result that will keep Dortmund top on Sunday - when second-placed Bayern Munich take on Bayer Leverkusen in third - is a draw.
Here are how the BVB players rated on Saturday afternoon...
Borussia Dortmund player ratings
1. Goalkeeper & defenders
Gregor Kobel (GK) - 4/10 - Forced into one decent second-half stop, before gifting Mainz their goal. Perhaps Dortmund's goalkeeper's are cursed?
Thomas Meunier (RB) - 7/10 - Added width and thrust to his side's attack throughout. His cross created the opener and he defended well - one slip early in the second half aside.
Manuel Akanji (CB) - 7/10 - Calm and composed in possession. Made one vital intervention early in the second half.
Mats Hummels (CB) - 6/10 - Looked shaky at times with one error just before the break going unpunished. Hit the post before being hooked with one eye on the Champions League.
Nico Schulz (LB) - 7/10 - Solid and dependable. Kept his shape when his side were in possession, always ensuring the midfield had a passing option.
Julian Brandt (CM) - 8/10 - Looked like he was really enjoying life on the right side of the midfield three. Found plenty of space and created plenty of chances for his teammates.
Emre Can (CM) - 7/10 - Plays an important role in this side plugging gaps and keeping the ball moving.
Jude Bellingham (CM) - 8/10 - He was everywhere, as he always is. Completed four dribbles, mucked in defensively but did miss a good chance. Created Haaland's goal with his pressing.
Marco Reus (AM) - 7/10 - Got his side off to the perfect start. Somewhat quiet after that but took up some dangerous positions.
Donyell Malen (ST) - 6/10 - A real livewire, even if things did not always break for him.
Erling Haaland (ST) - 8/10 - Returned with a bang after a few games out with injury. Worked hard, created space and converted emphatically from 12 yards. Sealed things with an equally impressive finish at the end.
Thorgan Hazard - 6/10
Marin Pongracic - 6/10
Marius Wolf - 6/10
Reinier - N/A
Axel Witsel - N/A