Steve Clarke's side had not beaten United since a 2-0 success in March 1984, but set about correcting that stat as Morgan Amalfitano ended a delightful dribble with a chipped finish early in the second half.
And, though Wayne Rooney levelled things up from a free-kick shortly afterwards, substitute Saido Berahino restored the visitors' advantage before they held on manfully to claim all three points.
With his side looking to get their Premier League title push back on track following last week's 4-1 defeat to Manchester City, David Moyes made seven changes to his team.
Javier Hernandez was given another chance to impress after scoring the winner in the League Cup victory over Liverpool in midweek, while Robin van Persie was forced to settle for a place on the bench having missed the last two games with a groin injury.
Steve Clarke, meanwhile, handed starts to Victor Anichebe and Claudio Yacob in place of Nicolas Anelka and James Morrison respectively, but the West Brom boss was forced to reshuffle his team yet again just 13 minutes into the match.
Berahino was thrown into the fray, with the 20-year-old forward replacing the injured Scott Sinclair in attack.
Berahino was unfortunate not to score just a few moments after coming on, as he nodded an inswinging cross from the left just wide of David de Gea's post.
A few minutes earlier, Hernandez had gone close to turning home Nani's cross from the right.
Anderson went even closer with half an hour on the clock, as he struck the crossbar with a header from close range before smashing the rebound hopelessly over the top.
Stephane Sessegnon had the best chance before the break, but the Benin international failed to control a side-footed effort following a flick-on from a corner as he shot high and wide.
United were forced into a change at the break, as youngster Adnan Januzaj was introduced in place of Shinji Kagawa, with the Japan international presumably having picked up an injury during a promising first-half performance.
And things soon went from bad to worse for the hosts, as Amalfitano opened the scoring eight minutes into the second half.
The Frenchman simply walked through the United defence after picking the ball up in a deep position and, after shrugging off Rio Ferdinand, he had the presence of mind to produce a dinked finish that gave De Gea no chance.
The sight of Robin van Persie preparing to enter the fray moments later would almost certainly have given West Brom’s defence plenty of food for thought, but United levelled matters before the Dutchman even got onto the pitch.
Rooney's inswinging free-kick from the left-hand side deceived everyone in the box, finding the net without the need for a team-mate's touch.
Most inside Old Trafford would have expected the champions to cruise to victory after getting back on level terms, and introducing Van Persie, but the visitors rallied superbly and took the lead again in the 67th minute.
Berahino was the scorer for West Brom, the youngster lashing a beautifully weighted Amalfitano lay-off to the edge of the box beyond De Gea with his left foot.
West Brom defended brilliantly as the inevitable United push for an equaliser gained steam with the clock ticking down, but they had Marouane Fellaini's poor judgement to thank for avoiding conceding five minutes from time.
The Belgian pushed forward needlessly before Nani squared to provide a tap-in, with his celebrations cut short by the assistant referee's flag.
The visitors subsequently held out to claim a famous win, their first at Old Trafford in 34 years.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.