Kaka started the play with a sublime pass to Cafu, who carried the ball toward the endline and cut it back to a waiting Inzaghi in the goalbox.
It was Inzaghi's third goal in four Champions League games this season.
He also scored both goals when Milan beat Liverpool in last season's European final.
Real Madrid striker Raul Gonzalez has the most goals in the Champions League with 58.
Raul and Andriy Shevchenko are tied for third with 60 goals each on the total European list.
"They're a little younger than me, so I've got to try and get a few more," said Inzaghi, whose first European goal came 12 years ago with Parma, in the Cup Winners Cup.
"I still want to play a few more seasons at this level."
Milan, which had already qualified, finished first in Group D with 13 points.
"We have a lot of objectives this season and this was one of them, winning the group to position ourselves well to defend the cup," Milan coach Carlo Ancelotti said.
Celtic placed second in the group with nine points to reach the knockout round for the second straight season.
|The winning goal was Inzaghi's 63rd goal|
in European competitions [AFP]
"We must be pleased to get out of that group," Celtic manager Gordon Strachan said.
"I think that could have been the hardest of the group. To get through is just wonderful for the club."
In the first half, it appeared both sides were content to stay scoreless as a draw would have suited both teams.
"It's normal when you have two teams that can be content with a draw there isn't much action," Ancelotti said.
"We played very controlled in the first half and we pushed more in the second."
In 45 minutes starved of action the best chances of the first half were a long shot by Kaka that sailed wide in the 26th, an effort that went right at Kalac by Jiri Jarosik in the 39th and an angled attempt from Clarence Seedorf that missed high in the 44th.
Scott Brown may have had Celtic's best chance in the 56th when he slipped behind Milan's defence but his shot was well off target.
Brown put another attempt on target in the 85th that Kalac collected.
Inzaghi had another clear chance at the end but slipped just as Kaka was about to pass him the ball.
Meanwhile in Ukraine, Oscar Cardozo scored two goals to lead Benfica to a 2-1 victory over Shakhtar 2-1 to put Celtic into the second round and give themselves a Uefa Cup spot.
Shakhtar, which could have advanced with a win, are now eliminated from European play because Benfica took third place with seven points.
Cardozo gave Benfica an early lead, capitalising on Shakhtar's mistake to beat goalkeeper Andriy Pyatov in the sixth minute.
He doubled the lead in the 22nd, heading in Maxi Pereira's cross from the right.
Cristiano Lucarelli got one back for the hosts by scoring from the penalty spot in the 30th minute.
Benfica goalkeeper Quim made two saves, stopping shots from Jadson from inside the box.
Pereira missed the target three minutes before halftime.
The Group D matches were moved up a week ahead to accommodate Milan's trip to Japan for the Club World Cup.
Milan departs for Asia on Wednesday and will have nine days of rest before the semifinals of the tournament, followed by a possible final with Boca Juniors.
Chelsea, FC Barcelona, Manchester United, AS Roma, Inter Milan, Sevilla and Arsenal have also reached the second round.
The other seven places will be decided next week.