Morgan Amalfitano’s brilliant solo goal early in the second half gave the visitors a deserved lead, much to the delight of the travelling fans.
However, Wayne Rooney quickly restored parity with a free-kick which evaded everyone and and flew into the net.
With Robin van Persie then joining the fray from the bench, United went off in search of another, and looked to be more of an attacking threat after levelling.
But youngster Berahino had other ideas, grabbing the headlines by firing low past David de Gea to claim a shock success for West Brom.
The visitors did an excellent job containing any threat that United offered right from the word go, with Nani the only player to really cause panic in the Baggies backline.
The Portuguese winger whipped some pinpoint crosses into the box, just evading Javier Hernandez on several occasions.
In truth, West Brom really could have been in front at the break, with two glorious chances missed in the opening period alone.
Substitute Berahino, who came on in place of the injured Scott Sinclair as his Manchester misery continued, headed just wide from an excellent Amalfitano centre.
Then, just before the interval, Stephane Sessegnon, who was lively all afternoon, had a great chance to give his side the lead, but blasted over from almost underneath the crossbar.
And the Baggies continued in the ascendancy after the restart, and did deservedly grab the lead thanks to an excellent solo effort from Amalfitano, running at the heart of the United defence, nicking the ball through the legs of Rio Ferdinand, and delightfully chipped over De Gea into the net.
United looked shell-shocked, and it wasn’t long before they were level thanks to the in-form Rooney.
Whether it was a cross or not is debatable, but his set piece flew straight into the net, with Hernandez cleverly distracting Boaz Myhill in the West Brom goal.
Many times before United have kicked-on and gone on to seal the victory, but the Baggies continued to attack in numbers, and got what they deserved on 67 minutes, with youngster Berahino finishing off a fine move, drilling in from the edge of the box to once again put the visitors in front.
United toiled away but found Jonas Olsson and Gareth McAuley tough to break down at the heart of the Baggies’ backline.
Michael Carrick and Rooney did see long-range efforts well saved by Myhill but United never really looked like finding a late equaliser.
Substitute Marouane Fellaini did have the ball in the net but was rightly flagged offside, and the Baggies held on to secure their first win at Old Trafford since 1978, leaving David Moyes with a great deal of work to do to ensure the champions can mount a serious attempt at defending their Premier League crown.