Celtic reached the Champions League last 16 despite a 1-0 defeat at already-qualified AC Milan on Tuesday thanks to Shakhtar Donetsk's loss to Benfica.
Holders Milan finished top of Group D while Celtic came second on nine points after Filippo Inzaghi turned in Cafu's cutback midway through the second half for the winner.
Ukraine's Shakhtar, needing to beat Benfica at home while hoping for a Milan victory, lost 2-1 to the Portuguese side, whose goals were cheered by Celtic fans inside the San Siro.
Benfica's win puts them in the UEFA Cup after the last round of matches in the group was brought forward by a week because Milan will shortly travel to the Club World Cup in Japan.
Celtic only needed a point and despite manager Gordon Strachan saying they would play to win, the Scottish league leaders had only one effort on goal in the first half when Jiri Jarosik shot from long range.
Scott Brown, who will miss the first leg of Celtic's first knockout round match in February after a booking, scuffed wide when in space in the second period.
Celtic edged Milan 2-1 at home in October when Dida famously feigned injury but the Scots had a dreadful away record in the Champions League coming into this match, losing 14 of 15 and drawing just once.
Strachan included former Milan midfielder Massimo Donati, who scored a stoppage time winner in last week's 2-1 win over Shakhtar, but the Italian was largely anonymous.
Milan, keen to top the group to get a better draw for the first knockout stage, mustered several more opportunities than the visitors.
Kaka, re-presented before kick off with the Ballon d'Or award he won on Sunday, shot wide after some sloppy Celtic defending while Andrea Pirlo was just off target with an early second-half freekick.
Inzaghi then inexplicably headed straight at keeper Artur Boruc when unmarked before netting from close range to send flutters through the hearts of the Celtic supporters until the Shakhtar result came through.
With Japan in mind, Carlo Ancelotti shuffled his goalkeeper and his whole defence but kept his first choice midfield intact with Inzaghi replacing Alberto Gilardino upfront.