- David Raum (12')
- Xavi Simons (59')
- Dani Olmo (84')
- Marko Stamenic (70')
The hosts grabbed the lead in the 12th minute when Red Star lost possession in their own half and the Germans launched a quick, five-touch passing move which ended with David Raum drilling in with his left foot for his first ever Champions League goal.
Yussuf Poulsen, the longest-serving Leipzig player who this week signed a contract extension, then forced a save from keeper Omri Glazer with a curled shot as the visitors initially struggled with the Germans' frenetic pace.
The Serbians thought they had earned some much-needed respite when they were awarded a penalty on the half hour for a clumsy challenge by Castello Lukeba but the referee reversed his decision shortly after, following a VAR review.
Red Star looked sharper after the break, having brought on Osman Bukari, scorer in both previous group matches, but their attempt at a quick comeback was cut short when Leipzig's Xavi Simons unleashed a stunning shot from 20 metres into the top corner to make it 2-0 in the 59th.
Marko Stamenic benefited from a deflection to cut the deficit in the 70th and reignite their hopes but it was the Germans who scored again in the 84th, through substitute Dani Olmo from close range, with the Serbians hitting the woodwork a minute later.
- José María Sánchez Martínez