Alcácer, whose loan deal from Barcelona was made permanent in November, claimed his fifth goal in four league games in the first half and produced a dummy which saw Marco Reus score off Jadon Sancho's cross in the second.
The striker has scored in each of his eight competitive appearances this season, claiming seven goals for Dortmund — including in the season-opening German Supercup — and three in two games for Spain.
Raphaël Guerreiro sealed the win before Reus claimed his second goal to celebrate his 100th win with Dortmund in the final minute. Dortmund conceded in each of its previous three league games and was looking to bounce back after a surprise 3-1 loss at Union Berlin.
"The team stayed calm and didn't make any major mistakes," Dortmund coach Lucien Favre said. "It was important not to concede." Dortmund hosts Barcelona in their Champions League opener on Tuesday. LEIPZIG REMAINS UNBEATEN
Leipzig held Bayern Munich to 1-1 in the late game, staying top after four games, one point ahead of Dortmund and two clear of Bayern. Robert Lewandowski got Bayern off to a flying start with his league-leading seventh goal in four games in the third minute.
The visitors thoroughly dominated the first half and might have added three more. Referee Sascha Stegemann pointed to the penalty spot after Leipzig winger Marcel Sabitzer appeared to bring down Lucas Hernández, but changed his decision after an intervention from the video referee.
Bayern was left to rue missed chances when Hernández conceded a penalty by bringing down Yussuf Poulsen after a mistake from Thiago Alcântara. Emil Forsberg duly equalized with the last kick of the half.
The home side was much improved in the second half, when Manuel Neuer came to Bayern's rescue and defender Niklas Süle grazed the Leipzig post with the last play of the game. THREE PENALTIES, TWO RED CARDS AND VAR
The first few minutes of Werder Bremen's 2-1 win at Union Berlin were spent on VAR checks after a second-minute penalty decision. Davy Klaassen had to wait till the fifth before opening the scoring from the spot.
TV replays showed it was a questionable call, with Klaassen apparently already falling before Christopher Lenz made contact. VAR was required again in the 12th to check whether Christian Groß handled the ball at the other end, before Sebastian Andersson duly equalized from the spot in the 14th.
The visitors were awarded another penalty early in the second half, saved by Rafal Gikiewicz, but the Union 'keeper was helpless to prevent Niclas Füllkrug from scoring off the resultant corner in the 55th.
Referee Tobias Welz was kept busy in a hectic finale, sending off Union defender Neven Subotic and Bremen's Nuri Sahin, both former Dortmund teammates, and booking visiting coach Florian Kohfeldt. "There wasn't any football played," said Union coach Urs Fischer, who criticized the application of VAR. "It will make football fairer, but that was definitely too much today. Too much discussion."
NETZER'S BIRTHDAY Alassane Plea's 14th-minute strike was enough for Borussia Mönchengladbach to mark club icon Günter Netzer's 75th birthday with a 1-0 Rhine derby win at promoted Cologne. Mainz defeated Hertha Berlin 2-1 at home, and Augsburg enjoyed a 2-1 home win over Eintracht Frankfurt.
More AP soccer: https://apnews.com/apf-Soccer and https://twitter.com/AP_Sports
Ciarán Fahey on Twitter: https://twitter.com/cfaheyAP