Chelsea's lead over closest rivals Tottenham remains at just four points with six matches to play after Antonio Conte's men lost for the second time in their last four games.
Jose Mourinho made four changes to his side, with Zlatan Ibrahimovic – described by the manager as "very tired" – among the players dropping to the substitutes' bench.
But United made a fast start, Rashford putting them ahead after only seven minutes with a controversial strike after Chelsea had claimed for handball against Herrera in the build-up.
The Blues were already without the injured Thibaut Courtois before they lost an unwell Marcos Alonso in the warm-up and were struggling to make an impression before Herrera's strike deflected in off the wing-back's replacement, Kurt Zouma, early in the second half.
And a subdued Chelsea – 4-0 winners in the reverse fixture – could not find a way back into the game, failing to register a shot on target, as Mourinho celebrated his first victory over his former side in three attempts since his sacking last season.
The win moves United, who are now 22 league games unbeaten, up to fifth, four points behind Manchester City with a game in hand.
Rashford, starting up front alongside Jesse Lingard in Ibrahimovic's absence, had already struck wide from a good opening before he made the early breakthrough, netting for a second league game running.
Chelsea were furious that Herrera was not penalised for an apparent handball as he intercepted Nemanja Matic's pass and the Spain international then sent Rashford racing clear with an excellent throughball, allowing the striker to convert with a cool finish past Asmir Begovic into the far corner.
Ashley Young, United's captain after coming in as one of Mourinho's alterations, saw his cross-shot only just evade Rashford in the Chelsea box and then fired wide from Paul Pogba's pass as the hosts' lightning start continued.
Chelsea were frustrated at the other end and did not manage a shot in anger until Diego Costa, who was booked for fouling Pogba before scuffling with Marcos Rojo, finally hit one wide in stoppage time.
United doubled their advantage four minutes into the second half, with Herrera – dismissed in last month's FA Cup meeting between the sides – the scorer on this occasion.
After initially having a cross blocked by David Luiz, Young dispossessed N'Golo Kante at the corner of Chelsea's box before being challenged by Zouma. The ball then fell into Herrera's path and his drive took a huge deflection off the defender to beat Begovic.
2 - Ander Herrera has scored and assisted in the same Premier League game for the first time since October 2015 vs Everton. Imposing.— OptaJoe (@OptaJoe) April 16, 2017
United threatened to run riot as Lingard blasted over from Rashford's pass, with the striker then firing into the side netting after being set up by Michael Carrick, who had come off the bench for his 450th United appearance.
Chelsea, who brought on Cesc Fabregas and Willian for Victor Moses and Matic, saw Pedro shoot off target with one effort and have another attempt deflect wide as David de Gea continued to be unoccupied.
The lively Rashford was denied by a smart Begovic save at his near post after impressively outmuscling David Luiz, with a third United goal looking more likely than a comeback from the visitors.
Rashford came off to a standing ovation in the closing stages, Ibrahimovic getting a late run-out as Chelsea were forced to turn their attention to next week's FA Cup semi-final against in-form rivals Tottenham, a side who represent a huge threat to their league hopes as well.
Key Opta stats:
- Jose Mourinho has now recorded at least one league victory against all 34 Premier League clubs that he has faced as a manager.
- Marcus Rashford scored in consecutive Premier League games for the first time since September.
- Ander Herrera scored and assisted in the same Premier League game for the first time since October 2015 versus Everton.
- Chelsea have gone 10 Premier League games without keeping a clean sheet for the first time since December 1996 (13 games).
- Chelsea failed to have a shot on target in a Premier League match for the first time since September 2007, which was also versus Manchester United at Old Trafford.