Galatasaray's second win in six games left them second in Group B on seven points, allowing the Turkish giants to join Real Madrid in the last 16 of the competition.
Juventus finished third on six points, two more than FC Copenhagen, and drop into the Europa League.
The match resumed in the 32nd minute at the Ali Sami Yen stadium after officials called a halt to proceedings while the match stood scoreless on Tuesday due to heavy snowfall.
Officials had managed to clear the pitch of snow for the remaining 59 minutes of the game, however snow continued to fall and several areas of the pitch were virtually unplayable.
Juventus coach Antonio Conte was clearly unhappy, especially as a large chunk of damaged pitch lay in Juventus's attacking end for the second half.
He complained vociferously of the playing conditions to the match referee at half-time, but to no avail.
It made for a farcical game of football, with many passes incompleted, overplayed and stuck in the mud as players tried to compensate for the poor conditions underfoot.
Galatasaray coach Roberto Mancini, who took over from Fatih Terim the day before holding Juventus to a 2-2 draw in Turin, admitted the "dangerous" conditions should have perhaps led to another postponement.
"It was difficult to play the ball, maybe it would have been better not to play. It was dangerous for the players," Mancini told Sky Sport Italia.
"It was a difficult situation, but the lads did well. The point we took from Turin served us well and today we deserved the win."
Conte said his pleas to have the match postponed fell on deaf ears. "We've been penalised in a very harsh manner," complained the Juventus coach.
"I congratulated the lads because they gave everything they could on a pitch that wasn't fit for football, and this fact penalised us a lot.
"The shame is that we were reduced to having to qualify in this last game. Hopefully the experience will serve us well for the future."
Juventus eventually grew into their stride and were by far the dominant team towards the end of the second period, however the chances they did create were only ever half-chances.
Four minutes after the restart Frenchman Paul Pogba, playing in central midfield for injured Andrea Pirlo, managed to get a shot away from outside the area as Galatasary failed to clear but his effort was collected by Fernando Muslera.
Sneijder was next to show a glimpse of creation on 54 minutes, the Dutchman pouncing on a loose ball from Drogba to send a drive narrowly wide of Buffon's upright.
Buffon then pulled off a superb diving stop down low to block Drogba's goalbound shot from the edge of the area.
Juventus moved up a gear in the final 20 minutes, with Carlos Tevez finally finding his feet.
On 74 minutes the Argentinian striker squeezed between two defenders on the right and from the resulting corner defender Giorgio Chiellini saw an effort go wide.
Four minutes later Tevez failed to get enough height on his cross from the right of goal as Juventus piled the pressure on.
And minutes later Tevez cut the ball back for Claudio Marchisio following Arturo Vidal's smart cross to the left, but Marchisio's first-time strike was straight at Muslera.
Juve were having the lion's share of play but were ultimately stunned five minutes from time when Sneijder beat Buffon at his far post from a tight angle after running on to Drogba's header.