Michael Ballack scored the dramatic winner from the penalty spot with five minutes left after Michael Carrick had handled in the box.
Chelsea dominated the first half and Ballack gave them a deserved half-time lead when he headed home Didier Drogba’s cross.
But United improved greatly after the break and Wayne Rooney looked to have earned a crucial point when he took advantage of a Ricardo Carvalho mistake to fire home.
Goal difference is now all that separates the sides at the top of the table, but United know that wins over West Ham and Wigan in the final two games will guarantee them the title.
The Reds suffered a further blow when Nemanja Vidic, named in the side after recovering from his stomach virus, was forced off with a nasty-looking facial injury early on.
With the second leg of the Champions League semi-final against Barcelona coming up on Tuesday, it was no surprise to see changes to Sir Alex Ferguson’s starting line-up.
Darren Fletcher made a surprise return from a month-long injury absence and Mikael Silvestre replaced Patrice Evra at left-back. Nani, Anderson and Ryan Giggs all started, with Cristiano Ronaldo and Carlos Tevez named on the bench.