Felipe Anderson cancelled out Pogba's first spot kick early in the second period, but the midfielder netted once again in the 80th minute to secure three huge points for top-four hopefuls United.
The 20-time English champions will now switch their attention to the second leg of their Champions League quarter-final against Barcelona on Tuesday night, while West Ham, who have now lost four of their last five, are back in league action at home to Leicester City next weekend.
Suspensions for Luke Shaw and Ashley Young meant that there was a rare start for Marcos Rojo. Elsewhere, Phil Jones, Juan Mata, Jesse Lingard and Anthony Martial all came into the XI following Wednesday's 1-0 defeat at home to Barcelona in the first leg of their Champions League quarter-final.
Manuel Pellegrini's side actually had the ball in the back of the United net in the 10th minute when Anderson smashed home from close range, but the offside flag came to the home team's rescue.
United's first piece of real incisive work took place in the 16th minute when Romelu Lukaku fed Lingard and the England international flashed a brilliant low cross into the West Ham box, but there were no takers.
The Red Devils were awarded a penalty in the 17th minute when Robert Snodgrass challenged Mata, though, and Pogba stepped up to thump his spot kick past Lukasz Fabianski for the opening goal of the match.
Lanzini had a free kick deflected over the home side's crossbar in the period that followed, before Anderson saw his header from a Snodgrass corner just drop wide of the far post during a positive spell for West Ham.
United were also causing issues, though, and Pogba had a strike from a dangerous position blocked before Diogo Dalot curled wide of the away side's post in the 28th minute.
The play remained end-to-end as the first period approached its latter stages, with West Ham finding plenty of space in the final third but also conceding ground down the other end.
West Ham were also having plenty of positive moments, however, and there is no question that Pellegrini's side were unfortunate to be behind at the interval, with De Gea using his feet to deny Anderson late in the half.
The Hammers were level in the 49th minute, though, with Anderson smashing home at the far post after meeting a deep cross from Lanzini. De Gea conceded possession too easily as he attempted to find Pogba with a throw, and United were made to pay as the scores were levelled.
The visitors continued to dominate in the spell that followed, with Solskjaer's side finding it difficult to keep the ball. Pablo Zabaleta registered another shot on target in the 54th minute, but De Gea made the save.
Marcus Rashford came off the United bench shortly after and the England international almost scored in the 58th minute following a pass from Smalling, but Fabianski made a smart save.
Rashford had another excellent opportunity in the 63rd minute after rising high inside the West Ham box, but the forward's header missed the crossbar. Rojo then tested the handling of Fabianski four minutes later with a drive from distance.
Michail Antonio replaced Hernandez for the final 20 minutes as West Ham looked for another option in the final third during a period of dominance from the visitors.
Antonio came close to sending West Ham ahead in the 77th minute after striking a wonderful effort towards the top corner, only for the crossbar to come to the home side's rescue. Anderson then struck the rebound into De Gea's arms during an open period.
De Gea made an even better stop moments later to keep out a header from Antonio, and United won another penalty on the break when Ryan Fredericks hacked Martial to the ground.
Once again Pogba stepped up and it was the same outcome as the France international beat Fabianski to score a huge second goal for the 20-time English champions.
The Hammers again responded well, but could not find a second in the latter stages as United collected three important points ahead of their trip to Camp Nou next week.
MANCHESTER UNITED (4-3-3): De Gea; Dalot, Jones, Smalling, Rojo (Pereira 75'); Mata (Rashford 56'), Fred, Pogba; Lingard, Lukaku (Greenwood 75'), Martial
WEST HAM UNITED (4-4-1-1): Fabianski; Zabaleta (Fredericks 76'), Ogbonna, Balbuena, Masuaku; Anderson, Rice, Noble, Snodgrass; Lanzini (Diangana 62'); Hernandez (Antonio 72')
body check tags ::