Willi Orban and Emil Forsberg also scored for the hosts in a five-goal first half as Leipzig claimed a win that keeps alive their dream of reaching the knockout stages in their debut Champions League campaign.
The result puts Leipzig second in Group G, a point above Porto but five points behind Turkish champions Besiktas, who maintained their perfect record with a 2-1 win at Monaco.
“We want to be in the Champions League beyond Christmas, and the win today was very important in that respect,” said Leipzig’s Austrian midfielder Marcel Sabitzer.
Leipzig were without star striker Timo Werner for much of the game. The 21-year-old is yet to return to full match fitness after injury so only came on as a late substitute, but his team were still brilliant going forward.
“It wasn’t easy but we managed to get three important points against a great team like Porto. We put a lot of pressure on them in the final third and thankfully things worked out for us,” said Leipzig’s Portuguese forward Bruma.
It took just eight minutes for Leipzig to open the scoring. After Jose Sa — preferred in the Porto goal to Iker Casillas — fumbled Bruma’s long-range effort, the ball fell to Orban, who bundled it into the net from close range.
More chances followed as Augustin first sliced a ball wide and then danced around two Porto defenders before being denied by Sa.
For all their flair in attack, defensive nerves soon cost Leipzig the equaliser. A long throw, twice knocked on in the penalty area, was turned in at the far post by Vincent Aboubakar on 18 minutes.
The response was immediate from the home side. Sabitzer, Naby Keita and Forsberg all came close within minutes of the leveller and it was the latter who would make it 2-1 in the 38th minute.
The Swede linked up brilliantly with Sabitzer before slotting the ball past Sa.
Moments later, Augustin had increased the lead, Ivan Marcano’s error gifting him possession and a free run at goal.
The Porto defender would make amends at the other end, scoring his side’s second just before half-time.
The Leipzig defence was caught napping again at a corner, allowing Hector Herrera to head the ball back at the far post before Marcano prodded the ball in.
With an hour gone, Marcano would redeem himself further, clearing off the line after Augustin had poked the ball past Sa, and Augustin would miss another chance in the 73rd minute, choosing to fire the ball over the bar rather than pass to the unmarked Sabitzer.
Brought on with a quarter of an hour to play, Werner was given a hero’s welcome by the home fans, but his hopes of scoring a first Champions League goal were thwarted by a Sa save in the 83rd minute.
Would you like to place a soccer bet? Click here to get started in 3 easy steps.