Goals from Romelu Lukaku and Marcus Rashford in the space of three second half minutes saw Jose Mourinho's men come from behind to secure their passage to the knockout stages after a controversial opener from Vitinho gave the visitors a half-time lead.
In the end though the visitors will have to settle for a Uefa Europa League place after this defeat, while United will find out who they will face in the last 16 on Monday morning.
Mourinho finally gave Shaw a chance to impress from the start of a game
As was expected before the game, Mourinho made plenty of changes to his starting eleven for the game with Luke Shaw given his first start for the club in 214 days, while Rashford was givent he change to play up top with Lukaku.
The pair almost got off United off to a perfect start in the fourth minute when a great passage of play ended with Lukaku playing Rashford through on goal but the young striker saw his left-footed shot come back off the post with the keeper beaten.
Minutes later, Rashford had another chance to open the scoring whenever a great touch and pass from Juan Mata found the striker in the box but this time he saw his shot saved by Igor Akinfeev and from the follow up, Lukaku also saw his shot saved by the keeper.
Vitinho gave the visitors the lead on the stroke of half-time after United missed key chances
United continued to push forward after them early chances but they lacked the killer final pass and that lead to alot of frustration and the visitors punished them by scoring on the stroke of half-time.
The goal was given too Vitinho, whose shot went into the back of the net via a deflection from Alan Dzagoev, who appeared to be offside, but due to the new rules it was a legal goal in the end.
Therefore, at half-time, the visitors had the lead despite only having that one chance but it showed that United needed to be more clinical in front of goal or they would lose their unbeaten home record so far this season.
United continued to miss chances early on in the second half
It was the same story at the start of the second half as United were on the front foot again as the visitors started to drop deeper and deeper and it was Rashford who almost got an equaliser when his fantastic run into the box resulted in his thunderous shot being saved by Akinfeev.
Lukaku and Rashford score in the space of three minutes to turn the game around in the hosts favour
The hosts continued to put the pressure of the CSKA goal and they got the equaliser that their play deserved when a fantastic pass from Paul Pogba found Lukaku in the box and his first time volley went into the back of the net much to the relief of the home players.
It didn't take the hosts long to get themselves in front either as with their next attack Rashford scored after a great long pass from Mata found the striker and this time he struck the ball into the back of the net with his left foot.
Romero's great save earned United the win and easy passage through to the last 16 of the Champions League
After that goal the game became very dull as the hosts kept the ball well and stopped the visitors from creating much but the one chance that they did create nearly resulted in an equaliser as Dzagoev was played through on goal but he saw his goalbound shot well-saved by Sergio Romero.
Therefore, United saw the game through to gain yet another three points which keeps their good home record going, while the visitors will feel that they could have done much better in the group to qualify.