It looked like it could be a frustrating afternoon for the home side, as it remained goalless deep into the match and United seemingly appearing to tire.
But with 77 minutes on the clock, Fred broke the deadlock and proved to be the decisive moment in the match.
United were bright in the early stages, setting up in a 4-2-2-2 formation.
James Tomkins headed a Fred strike over the bar brilliantly, while Jadon Sancho was also denied by good Palace defending.
Diogo Dalot cut inside and fired over with the final kick of the first-half, as the sides went in level at the break despite United’s dominance.
It was a much slower start to the second-half, with United unable to produce the same intensity to their performance.
Rashford won a free-kick after cutting inside, and Alex Telles clipped the top of the bar as he whipped the set-piece towards the far corner from a tight angle.
Jordan Ayew missed a huge chance to put Palace in front, as he somehow put his effort right across the face of goal from just a couple of yards out.
And United made him and Palace pay just a couple of minutes later. Mason Greenwood played the ball back to Fred on the edge of the box, and the Brazilian produced a lovely finish into the far corner to put his side in front.
Palace tried to pile men forward late on, but United held on comfortably enough to move back within three points of the top four.