Bayer Leverkusen secured their place in the last 16 of the Champions League from Group A thanks to a 1-0 win away to Real Sociedad on Tuesday, while Shakhtar Donetsk lost 1-0 at Manchester United.
Sami Hyypia's men went into the game knowing they needed to better the Ukrainian champions' result and they deservedly went ahead four minutes into the second half when defender Omer Toprak slammed home from close range.
Leverkusen should have added to their advantage as Stefan Kiessling hit the post and was also denied by a fine save from Enaut Zubikarai.
And the Bundesliga side were nearly made to pay for their profligacy as Antoine Griezmann forced Bernd Leno into an important save with a low header 17 minutes from time.
United's victory means they top the group, while Leverkusen are likely to face a tricky tie against another group winner when the draw for the last 16 is made in Nyon, Switzerland on December 16.
"Once again my team showed real character," Hyypia told Uefa.com.
"I had the feeling my players were a little tired in the opening phase of the game, but we eventually managed to find our rhythm. The end result certainly doesn't describe the pattern of play very well - we should have scored more goals.
"I told my players at half-time that we would score a goal from a set piece and that we only needed to believe in ourselves. When I heard that Manchester United were 1-0 up in their game, I knew we didn't have to risk more than was necessary."
For Sociedad, though, a fifth defeat in six games brought to a close a hugely disappointing campaign in which they didn't even manage to score a goal at home.
However, coach Jagoba Arrasate said their focus must now turn to having a strong finish to the La Liga season to ensure a return to European football next season.
"We are not going to be in the Champions League every year, but we do have the ambition to return to playing in European competition.
"To finish with one point and just one goal scored is not an excuse. It is a shame not to have given the fans something to shout about, but we will try to do so another time."
Leverkusen started the brighter and they were very unfortunate not to take the lead when Gonzalo Castro curled a free-kick off the inside of the post after just 11 minutes.
The Basque side improved as the half wore on and Carlos Vela was inches away from connecting with Griezmann's low cross a minute before the break.
However, the Germans started the second period with more urgency and, after Zubikarai had produced a wonderful save to deny Kiessling, Toprak bundled the ball home from the resulting corner.
Kiessling then struck the post with a precise header and saw Zubikarai make another fine save moments later as Leverkusen went in search of a second goal that would seal the three points.
But Real did show some spirit as the clock wound down and, after Griezmann pulled a shot wide of the target when well-placed inside the area, the Frenchman forced Leno into his only serious save of the evening as his headed effort was held low to his left by the German under-21 international.