Manchester United had substitute Juan Mata to thank after they secured a 1-0 win at home to Crystal Palace that lifted Louis van Gaal's side up to sixth place, 13 points below Chelsea, who won 2-1 earlier in the day at Liverpool.
Chelsea were on course to move six points clear until substitute Shane Long scored a quick-fire late brace to earn second-place Southampton a 2-0 win over Leicester City at a soggy St. Mary's. Long curled home from Graziano Pelle's lay-off in the 75th minute before running clear and beating Kasper Schmeichel five minutes later to keep Ronald Koeman's side on Chelsea's tail.
United toiled in the first half and saw former player Fraizer Campbell spurn a chance to put Palace ahead when he lobbed over following a mix-up between auxiliary centre-back Danny Blind and 19-year-old Paddy McNair.
But Mata scored just four minutes after coming on in the 63rd minute to give United victory, deceiving visiting goalkeeper Julian Speroni with a deflected 22-yard shot after a one-two with Angel di Maria.
West Ham United inched above Arsenal into fourth place despite drawing 0-0 at home to Aston Villa, while Ashley Barnes's solitary header earned bottom club Burnley a first win of the campaign at home to Hull City.