Pep Guardiola's City crushed Shakhtar Donetsk 6-0 on a night which saw Real Madrid also win big, as Bayern Munich closed in on a place in the knockout stage.
Juventus were within seconds of confirming their spot in the last 16 after Cristiano Ronaldo put them ahead in Turin with a superb volley in the 65th minute.
The hosts had already hit the woodwork twice before that and should have been out of sight before Juan Mata equalised from an 86th-minute free-kick.
The turnaround was completed in the 90th minute when Leonardo Bonucci scored an own-goal, and United boss Jose Mourinho delighted in taking to the field at the end, cupping an ear towards the home support.
The former Inter coach said it was a response to insults from Juve supporters, and United are now two points behind the Italians in Group H.
"In a beautiful Italian city, they insulted me for 90 minutes. I didn't insult them. I just made a little thing," Mourinho told BT Sport.
"It is a big victory for us, not just because we needed the points but because it was away from home against an amazing team."
The result was a blow for Valencia, who are still two points behind in third after beating Young Boys 3-1 at Mestalla.
Santi Mina scored twice either side of a Roger Assale goal, before Carlos Soler sealed the win. Young Boys, who had Sekou Sanogo sent off, cannot now qualify.
Controversial Sterling penalty
There was less drama at the Etihad Stadium, where City -- whose financial dealings have come under scrutiny in a series of Football Leaks allegations -- eased to their biggest win in the competition.
Goals from David Silva and Riyad Mahrez bookended the victory. In between there was a stunner from Raheem Sterling, who was also awarded a penalty for kicking his own foot into the turf in the box.
Jesus scored the spot-kick, the first of two penalties in his hat-trick. City will head to Lyon later this month requiring a draw to secure a last-16 place.
"Unfortunately we haven't qualified, but we are so close and will try to maintain this level," said Guardiola, whose team play United on Sunday.
City would have been through already had Lyon not squandered a two-goal lead to draw 2-2 at home to 10-man Hoffenheim.
Nabil Fekir and Tanguy Ndombele had the French club 2-0 up at the break, and the Germans had Kasim Nuhu sent off early in the second half.
But Andrej Kramaric pulled one back and Lyon missed chances to secure the victory before Pavel Kaderabek's stoppage-time equaliser.
200 up for Benzema
Reigning European champions Madrid had no trouble against Viktoria Plzen in the Czech Republic, with Karim Benzema scoring twice in a 5-0 win.
Real were four ahead at the break, Benzema's goals taking him to 200 for the club. Casemiro and Gareth Bale also netted in the first half, and Toni Kroos completed the scoring with a delicious chip.
Santiago Solari has now overseen three victories, all with clean sheets, since being put in charge of Madrid, and the Spaniards are level atop Group G with Roma.
The Italians won 2-1 away to CSKA Moscow, Kostas Manolas and Lorenzo Pellegrini scoring their goals either side of Arnor Sigurdsson's equaliser.
CSKA, who had Hordur Magnusson sent off, still have a slim chance of qualifying, but Plzen are out.
Meanwhile, Bayern require just one more point to advance in Group E after Robert Lewandowski netted twice -- the first a penalty -- on his 100th European appearance in a 2-0 home win over AEK Athens, who are eliminated.
Ajax remain well placed to progress too. They are second, four points clear of third-placed Benfica, after a 1-1 draw in Portugal. Jonas put Benfica ahead before Dusan Tadic equalised.