The Spain Under-21 international’s early wonder goal handed the Spanish side the edge ahead of next week’s second leg at the Allianz Arena.
Arturo Vidal came closest to netting an equaliser for Pep Guardiola’s side but the home defence worked hard to keep his and his team-mates’ efforts out as they recorded their fifth consecutive clean sheet.
Diego Simeone’s hosts began to press from the start and Fernando Torres came close to opening the scoring in the first five minutes but his drilled shot from 20 yards out was blocked by David Alaba.
It did not take long for Atleti to break the deadlock as 21-year-old midfielder Niguez took on the Bayern defence alone from 40 yards out, dribbled the ball past three more opponents before curling it into the bottom corner with a beautiful finish past the diving Manuel Neuer to hand his side the lead after 11 minutes.
Bayern almost levelled two minutes later before Vidal’s header was sent out for a corner and Xabi Alonso’s resulting set-piece was finally made safe after Vidal’s further effort was collected by home goalkeeper Jan Oblak.
Vidal won a free-kick just inside the right touchline which was taken by Douglas Costa but he was just short as he fired into the side netting as Bayern looked to get back into the match midway through the first half.
The Bavarians continued to press for an equaliser as the half wore on but Philipp Lahm’s effort was blocked by Jose Gimenez, while – down at the other end – Antoine Griezmann’s close-range effort was toe-tipped to safety after a break for Atletico.
Oblak was called into action again 10 minutes before the break as he made a diving save to deny on-loan Juventus teenager Kingsley Coman before Vidal fired a shot wide.
Javi Martinez did well to head goalscorer Niguez’s cross out for a corner before it reached the waiting Koke at the near post, while Juan Bernat sent the ball sailing high over the crossbar just before the break.
The visitors started the second half the brightest as Guardiola’s half-time team talk looked to have made an impact, Alaba’s long-range strike only denied by Oblak’s crossbar eight minutes in.
Moments later, the Atletico keeper did well to hold out Javi Martinez’s header and hold onto his clean sheet for a little longer as the German side continued to dominate possession.
Robert Lewandowski was unfortunate as his effort across Oblak’s goal rolled just wide before Guardiola brought on Franck Ribery for Coman in an effort to bag an equaliser.
Bayern’s frustrations started to get the better of them and Vidal conceded a free-kick with 20 minutes to go for bringing down Gabi but Douglas sent his weak shot over the bar as the home side searched for goal number two.
Torres then struck the post from close range and – on the rebound – Koke’s drilled shot was comfortably kept out by a diving Neuer.
Bayern battled on for a leveller but Oblak denied Vidal late on as the home side held on for a narrow victory.